我有以下书签:
javascript:findlink=document.getElementsByClassName(%22download_link%22)[2].href;window.open('https://myfiledrive.com/users/files/add?url='+findlink,'_blank');void(0);
例:
<a class="download_link" href="example.com/pdf1.pdf">
<a class="download_link" href="example.com/pdf2.pdf">
<a class="download_link" href="example.com/pdf3.pdf">
基本上,它在当前活动的页面中搜索带有类"download_link"的标签的第三次迭代,并将其存储在变量"findink"中,
然后它加载'https://myfiledrive.com/users/files/add?url='+findlink
在上面的示例中,它应该加载:
https://myfiledrive.com/users/files/add?url=example.com/pdf3.pdf
但最终发生的是它被加载:
https://myfiledrive.com/users/files/add?url=example.com/pdf3.pdf?url=example.com/pdf3.pdf
- 所以基本上它是复制 url=
我做错了什么?谢谢。
不应重复url
参数。您不会附加到findlink
或任何东西。您可以尝试下面的代码段,它与您发布的完全一样。
Chrome 会阻止弹出窗口,但如果您阅读错误消息,则不会发生重复:
阻止在新窗口中打开"https://myfiledrive.com/users/files/add?url=https://stacksnippets.net/example.com/pdf3.pdf",因为请求是在未设置"允许弹出窗口"权限的沙盒框架中发出的。
无论我点击多少次,url
都只在那里一次。
<a class="download_link" href="example.com/pdf1.pdf">1</a>
<a class="download_link" href="example.com/pdf2.pdf">2</a>
<a class="download_link" href="example.com/pdf3.pdf">3</a>
<a href="javascript:findlink=document.getElementsByClassName(%22download_link%22)[2].href;window.open('https://myfiledrive.com/users/files/add?url='+findlink,'_blank');void(0);">download</a>