铬linkurl没有返回正确的URL

问题描述:

我在做一些浏览器扩展程序开发,我发现linkurl方法提供了一些奇怪的URL回到这样的“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铬linkurl没有返回正确的URL

有什么办法,我们可以得到适当的网址是什么?

我的代码是在这里

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}); 
} 

“正确”的URL是在大URL的参数之一,如果你仔细观察 - 这是“URL”参数。有些库会负责解析URL参数并为您解码,如果你想获得更大的重定向到的正确URL,或者你也可以手动执行它:)

编辑:取决于你的用例是,你可以在这里How can I get query string values in JavaScript?或这里Parse query string in JavaScript

使用该解决方案,您需要稍微改变片段,因为它们使用window.location变量,而不是采取一个字符串。

+0

你有推荐的lib吗? – Achayan

+0

http://medialize.github.io/URI.js/看起来不错 – bbill

+1

其实我在这里找到http://*.com/questions/901115/how-can-i-get-query-string-values-in- JavaScript的 – Achayan