阅读:4378回复:6
想修改一个油猴脚本,能让网页在当前页面打开
百度等搜索引擎和导航网站特别喜欢单击之后原网页还留着。 。。我装超级拖拽不就是为了不要这样吗,于是我找了几个脚本,一开始是吧target blank 替换掉,可是还是有部分不太行,于是找到了一个
javascript: (function () { { var links = document.getElementsByTagName('a'); for (i in links) { window.open(links[i].href); } } })() window.open(links[i].href); 打算换成 window.location(links[i].href);但发现这个脚本好像本身就有问题,于是尝试把javascirpt这句去掉,for循环改 for (var i=0;i<links.length;i++){但是都失败了。。。求助 |
|
1楼#
发布于:2020-09-18 14:26
他的for循环是有问题。但你问题的关键在于两点
1、window.location不是个函数,没有 window.location(url) 这种用法。该用 window.location.replace(url) 或 window.location.href = url 来设置当前页面的地址 2、它这个脚本是用新窗口/标签页打开当前页面上的所有链接,你这么改成了在当前页打开当前页面上的所有链接,肯定不是你想要的 |
|
2楼#
发布于:2020-09-18 14:34
taoww:他的for循环是有问题。但你问题的关键在于两点我改成了 var links = document.getElementsByTagName('a'); for (var i=0;i<links.length;i++){ window.location.href = links<span style="font-style: italic;">.href }</span> 好像还是不行 另外我目标就是当前页面打开 |
|
3楼#
发布于:2020-09-18 14:39
这就是我说的第二点。你这么个写法,是在当前页面将网页上所有链接同时一起打开,实际效果是只打开最后一个链接。
|
|
4楼#
发布于:2020-09-18 14:42
|
|
5楼#
发布于:2020-09-18 14:47
本来把target=_blank改成target=_self就是最正统的做法了。
你说有部分不太行,那可能 1、是通过ajax动态加载的内容,是在脚本代码执行完毕后加载的,没有被改到 2、是通过js脚本打开的窗口,不受target属性管。这种情况比较麻烦,只能具体网站具体分析 |
|
6楼#
发布于:2020-09-18 15:02
|
|