我正在做一些chrome扩展开发,我发现了linkurl方法给了一些奇怪的网址,就像这样“https://www.google.ca/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&cad=rja&uact=8&ved=0CDQQFjAD&url=https%3A%2F%2Fdeveloper.chrome.com%2Fdevtools%2Fdocs%2Ftips-and-tricks&ei=41OEVfSXG4nioATdvrCAAQ&usg=AFQjCNHiSugE_b8f5LZbiamLQzS2Df2I9Q&sig2=acYqGi4bSiUgLeO4HwwM5Q&bvm=bv.96339352,d.cGU”
我们有什么方法可以获得正确的网址吗?
我的代码在这里
function genericOnClick(info, tab) {
window.alert(info.pageUrl);
var urlHandler = info.linkUrl;
chrome.tabs.create({url: urlHandler});
}
var contexts = ["page","selection","link","editable","image","video",
"audio"];
for (var i = 0; i < contexts.length; i++) {
var context = contexts[i];
var title = "Test"
var id = chrome.contextMenus.create({"title": title, "contexts":[context],
"onclick": genericOnClick});
}
答案 0 :(得分:0)
如果仔细观察,“正确”的网址是大网址中的参数之一 - 它是“网址”参数。如果您想获得较大的重定向的正确URL,或者您也可以手动执行此操作,那么有些库将负责解析URL参数并为您解码:)
修改:根据您的用例,您可以在How can I get query string values in JavaScript?或Parse query string in JavaScript
使用解决方案您需要稍微更改一些代码段,因为它们使用的是window.location
变量,而不是使用字符串。