javascript - 如何将 google 结果 URL 转换为常规 URL

标签 javascript

我正在使用 chrome 扩展程序进行一些工作,该扩展程序需要使用 google chrome 结果 URL(即重定向),并将其转换为普通 URL 以便使用。 示例:

我用谷歌搜索:https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwi6w8WR4ZzSAhUZHGMKHRntAv0QFggaMAA&url=https%3A%2F%2Fwww.google.com%2F&usg=AFQjCNFePWT_Lkni-D9ikX7wC3eYuDMQYQ&sig2=gPD7xuE6nstkxWFhSh2QLQ&bvm=bv.147448319,d.cGw

我想要的是:https://www.google.com

我尝试过使用 string.split().pop(),但只使用了输入文本后的所有内容。对于一个基本示例,我想要一种可靠地将 testHItestBYE 转换为 HIBYE 的方法。最好的方法是什么?

最佳答案

重定向网址似乎在 url 参数中有目标 URL,因此我们可以使用 '&url=' 作为分隔符来拆分字符串,弹出最后一个元素,拆分它使用 '&' 作为分隔符,获取第一个元素。它是 URL 编码的,因此我们必须对其进行解码。

var findURL = function findURL(url){
	return decodeURIComponent(url.split('&url=').pop().split('&')[0]);
}

//example call
result = findURL( 'https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwi6w8WR4ZzSAhUZHGMKHRntAv0QFggaMAA&url=https%3A%2F%2Fwww.google.com%2F&usg=AFQjCNFePWT_Lkni-D9ikX7wC3eYuDMQYQ&sig2=gPD7xuE6nstkxWFhSh2QLQ&bvm=bv.147448319,d.cGw' );

console.log(result);

还有其他方法可以做到这一点。

关于javascript - 如何将 google 结果 URL 转换为常规 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42330960/

相关文章:

javascript - Pebble AppSync 元组仅使用初始值

javascript - 使用 Javascript 检查 Windows Vista

javascript - 如何处理json编码的php mysql数组

javascript - 使用 cfajaxproxy Ajax 调用 Coldfusion 组件

javascript - 在不知道如何排除故障的情况下替换 c# 函数 bij Jquery 不工作

javascript - ReactJS - 在箭头函数中设置状态

javascript - JavaScript 中 getter 函数什么时候有用?

javascript - 全日历 Angular : Add an Event based on Day of the Week.

JavaScript CopyToClipboard 与 onclick 按钮在同一行

javascript - ngOptions 中的重复项