Восстановление старой программы просмотра фотографий Facebook - расширение Chrome - PullRequest
0 голосов
/ 11 февраля 2011

Если вы заметили, у Facebook появился новый просмотрщик фотографий ... Фактически, чтобы заменить исходный просмотрщик фотографий, вам просто нужно удалить опцию «& theatre» в URL и перезагрузить веб-страницу.Я хочу, чтобы это автоматически делалось расширением Chrome.Я уже получил код для извлечения URL:

<html>
<head>
<script>
window.addEventListener("load", windowLoaded, false);
function windowLoaded() {
  chrome.tabs.getSelected(null, function(tab) {
    document.getElementById('currentlink').innerHTML = tab.url;
  });
}
</script></head>
<body>
<p id="currentlink">Loading ...</p>
</body>
</html>

Я не могу удалить «& theatre» из строки и затем перезагрузить с новым отредактированным URL (без & theatre)

Заранее спасибо.

1 Ответ

0 голосов
/ 27 сентября 2011

Я сделал для этого скрипку: http://jsfiddle.net/ArkahnX/LxkZs/2/ (функция из http://snipplr.com/view.php?codeview&id=799) ниже, делает то же самое, что и раньше, за исключением того, что она вставляет все переменные, кроме театра, обратно в URL. Оттуда,Вы можете делать с URL все, что хотите. Если tab.url == новый URL-адрес, вам не нужно перезагружать страницу или делать то, что вам нужно для расширения.

<html>
<head>
<script>
function getUrlVars(url) {
    var vars = [],
        hash;
    //get URL variables
    var hashes = url.slice(url.indexOf('?') + 1).split('&');
    //get domain
    var domain = url.split("?")[0];
    for (var i = 0; i < hashes.length; i++) {
        //separate variable and parameter
        hash = hashes[i].split('=');
        //get everything but theater
        if (hash[0] !== "theater") {
            vars.push(hash[0]);
            var index = vars.indexOf(hash[0]);
            vars[index] = hash[0]+"="+hash[1];
        }
    }
    //mash it all back together
    return domain+"?"+vars.join("?");
}
window.addEventListener("load", windowLoaded, false);
function windowLoaded() {
  chrome.tabs.getSelected(null, function(tab) {
    document.getElementById('currentlink').innerHTML = getUrlVars(tab.url);
      if(tab.url === getUrlVars(tab.url)) {
          //do nothing
      } else {
          //do something
      }
  });
}
</script></head>
<body>
<p id="currentlink">Loading ...</p>
</body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...