如果您注意到,Facebook有一个新的照片查看器...事实上,要更换原始照片查看器,您只需删除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>
我无法从字符串中删除“&amp; theatre”,然后使用新编辑的网址重新加载(不使用&amp;影院)
提前致谢。
答案 0 :(得分:0)
我为此做了一个小提琴:下面的http://jsfiddle.net/ArkahnX/LxkZs/2/(来自http://snipplr.com/view.php?codeview&id=799的功能),与之前的相同,除了它将除了影院之外的所有变量都粘贴到URL中。从那里,您可以使用URL执行您想要的操作。如果tab.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>