2011-02-11 63 views
0

如果您注意到,Facebook有一個新的照片查看器...它實際上,要替換原始照片查看器,您只需刪除URL中的「&影院」選項並重新加載網頁。 我想通過Chrome擴展自動完成此操作。 香港專業教育學院已經得到了代碼來檢索的網址:恢復舊的Facebook照片查看器 - Chrome擴展程序

<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> 

我不能刪除「&劇場」從字符串,然後用新的編輯URL重裝(不&劇院)

提前致謝。

回答

0

我爲此做了一個小提琴: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>