Какую функциональность Firefox я использую, чтобы переписать и открыть URL активной страницы?

Наш университет предоставляет услугу прокси, которая позволяет мне просматривать веб-сайты, как будто я был онлайн через университетскую сеть. Однако ленивый, как я, я устаю от движения к полю редактирования URL в Firefox и изменяю https://superuser.com/на http://superuser.com.ezproxy.its.uu.se/ и открытый что новый URL.

Вместо этого мне очень скорее нравится просто нажимать кнопку в моем окне Firefox. Поэтому мой вопрос, как я могу создать такую функциональность. Я доволен userscript, повсеместностью или дополнением как решение: какую функциональность Firefox я должен использовать для задачи добавления ezproxy.its.uu.se к доменной части какого-либо URL, и открытый что новый URL?

3
задан 20.03.2017, 12:17

4 ответа

Вы могли бы также смотреть на LibX - "Плагин Браузера для Библиотек", которые могут сделать этот вид функции для Вас автоматически:

Доступ вне кампуса через EZProxy или WAM

Поддержка доступа вне кампуса к лицензированным ресурсам, если Ваше учреждение использует Прокси EZ или WAM III. Можно перезагрузить страницу через прокси или перейти по ссылке через прокси, заставив это появиться, как будто Вы происходите из компьютера на кампусе. Это показывает, предоставляет Вам доступ к ресурсам, к которым только у пользователей на кампусе есть доступ. Можно настроить EZProxy, таким образом, что LibX автоматически обнаружит, если страница может быть проксирована.

2
ответ дан 07.12.2019, 23:03

Измените местоположение путем сохранения следующего как bookmarklet:

javascript:(function(){
  location.href = location.href.replace(
    location.hostname, location.hostname + '.ezproxy.its.uu.se'
  );
})()

Однако вышеупомянутому сначала нужны Вы, чтобы сказать Firefox загружать исходный URL (так: необходимо будет нажать Return в адресной панели) получить заполненный объект местоположения. Вместо этого чтобы быть запрошенным URL, а не сначала наличие Вашего браузера (пробуют к) загружают его:

javascript:(function(){
  var url = prompt('Type URL to browse');
  var suffix = '.ezproxy.its.uu.se';

  /* Don't know how the proxy would handle https or specific ports;
   * let's just copy them...
   * $1 = optional protocol, like 'http[s]://'
   * $2 = domain, like 'superuser.com'
   * $3 = optional port, like ':8080'
   * $4 = rest of the URL, like '/questions/154689/ .. page/154692#154692'
   */
  url = url.replace(
          /(\w*:\/\/)?([^:\/]*)(:[0-9]*)?(.*)/, '$1$2' + suffix + '$3$4'
        );
  if(url.indexOf('http') != 0){
    url = 'http://' + url;
  }
  location.href = url;
})()


И после того как Вы переключились на использование прокси, можно использовать некоторое волшебство jQuery переписать каждое местоположение в HTML, который подается прокси - но только нуждался, если это не делает этого для Вас на лету. Чтобы быть сохраненным как, пользовательский сценарий (как для Механика), с некоторым первоначальным кодом для первого обеспечения jQuery доступен, и только быть включенным для домена прокси-сервера (следовательно только при просмотре использования, которые проксируют):

// ==UserScript==
// @name           Rewrite URLs to use proxy
// @namespace      http://superuser.com/questions/154689/
// @description    Rewrites absolute URLs to use proxy
// @include        http://*.ezproxy.its.uu.se/*
// ==/UserScript==

var $;
var suffix = '.ezproxy.its.uu.se';

// Rewrites an attribute to include the proxy server address, if a full
// domain is specified in that attribute.
function rewriteAttr(attrName){
  $('[' + attrName + ']').attr(attrName, function(){
    // Don't know how the proxy would handle https or specific ports;
    // let's just copy them...
    // $1 = protocol, like 'http[s]://'
    // $2 = domain, like 'superuser.com'
    // $3 = optional port, like ':8080'
    // $4 = rest of the URL, like '/questions/154689/ .. page/154692#154692'
    return $(this).attr(attrName).replace(
      /(\w*:\/\/)([^:\/]*)(:[0-9]*)?(.*)/, '$1$2' + suffix + '$3$4'
    );
  });
}

// Rewrite anchors such a <a href="http://superuser.com/xyz"> and references
// like <link rel="stylesheet" href="http://sstatic.net/su/all.css">
function letsJQuery() {
  rewriteAttr('href');
  rewriteAttr('src');
}

// Loads jQuery if required. 
// See http://joanpiedra.com/jquery/greasemonkey/
(function(){
  if (typeof unsafeWindow.jQuery == 'undefined') {
    var GM_Head = document.getElementsByTagName('head')[0] 
          || document.documentElement;
    var GM_JQ = document.createElement('script');

    GM_JQ.src = 
      'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js';
    GM_JQ.type = 'text/javascript';
    GM_JQ.async = true;

    GM_Head.insertBefore(GM_JQ, GM_Head.firstChild);
  }
  GM_wait();
})();

// Check if jQuery's loaded
function GM_wait() {
  if (typeof unsafeWindow.jQuery == 'undefined') {
    window.setTimeout(GM_wait, 100);
  } else {
    $ = unsafeWindow.jQuery.noConflict(true);
    letsJQuery();
  }
}
9
ответ дан 07.12.2019, 23:03

Это точно вид ситуации, что сценарий Автоконфигурации прокси (PAC) предназначается для решения. Следующий сценарий сконфигурирует Firefox так, чтобы он прозрачно направил запросы через Ваш локальный прокси, не имея необходимость переписывать их. Сохраните этот файл где-нибудь в Вашей файловой системе, и затем войдите в диалоговое окно Настроек подключения и поместите путь в установку "Automatic proxy configuration URL". (Это поддерживается всем главным browers, не просто Firefox.)

function FindProxyForURL(url, host)
{
    return "com.ezproxy.its.uu.se";
}

Это - функция JavaScript, и таким образом, условная логика возможна также.

-1
ответ дан 07.12.2019, 23:03

Как насчет того, чтобы использовать Дополнение Firefox Синтаксического анализатора URL.

Или используйте bookmarklet из urlparser.com/bookmarklet.

0
ответ дан 07.12.2019, 23:03

Теги

Похожие вопросы