我正在尝试从页面中获取打印到新选项卡的链接列表,但由于某些原因,当我在.length
语句中检查if
时,我的bookmarklet不起作用。我有另一个完美无缺的,但这个不会触发。
这是我目前的代码
javascript:(function(){
$total=0;
$data="";
if($("td.normal a").length > 0){
$("td.normal a").each(function(){
if($total>0){
$data = $data+"<br/>";
}
$data = $data+$(this).attr('href');
$total++;
});
} else {alert("No links found");}
myWindow = window.open("data:text/html," + encodeURIComponent(data),"_blank", "width=200,height=100");
myWindow.focus();
})();
我尝试过以下操作,但它甚至无法正常工作
javascript:(function(){if($("td.normal a").length > 0){alert("Yes");}else{alert("No");}})();
但这确实
javascript:(function(){alert("Yes");})();
页面格式如此
<table class="premium" cellspacing="2" style="margin:auto;width:600px">
<tr>
<td class="normal titre ohidden" style="width:500px">FileName</td>
<td class="normal titre" style="width:100px">Size</td>
</tr>
<tr>
<td class="normal alg" style="padding-left:10px;overflow:hidden"><a href="http://www.example.com" title="Link to file">File Name</a></td>
<td class="normal">835.20 MB</td>
</tr>
<tr>
<td class="normal alg" style="padding-left:10px;overflow:hidden"><a href="http://www.example.com" title="Link to file">File Name</a></td>
<td class="normal">851.20 MB</td>
</tr>
</table>
任何人都可以看到可能出现的问题吗?到目前为止,我只在Firefox中测试过。
修改
我只是试图在另一个网站上运行代码,它工作正常,所以似乎只是我正在研究的网站以某种方式阻止它。我正在尝试从1fichier获取一个链接列表,其中一位同事用来向我发送“共享文件夹”中的文件,查看包含多个链接的页面需要很长时间才能导入到我的下载器中。
错误控制台正在向后吐Uncaught TypeError: undefined is not a function (anonymous function)
答案 0 :(得分:0)
所以我设法使用一些基本的Javascript
javascript:(function(){
var links = document.querySelectorAll("td.normal>a"), i;
if(links.length>0){
var data="";
for (i = 0; i < links.length; i++) {
if(i>0){data = data+"<br/>";}
data = data+links[i].href;
}
myWindow = window.open("data:text/html," + encodeURIComponent(data),"_blank");
myWindow.focus();
} else {alert("No links found");}
})();
仍然不知道为什么它不起作用,但确实如此。