Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript书签不工作?_Javascript_Click_Bookmarklet - Fatal编程技术网

JavaScript书签不工作?

JavaScript书签不工作?,javascript,click,bookmarklet,Javascript,Click,Bookmarklet,我找不到“heart”的正确元素名,我想通过上面列出的javascript书签单击它 查看页面时,元素在单击后列为“喜欢”a.likes.does,在单击前列为“喜欢”?-应该有人帮我找到正确的名字,这样我才能更新代码 我正试图让这个书签点击页面上所有的红心 我不确定“likes”是否正确,或者是否应该将其更改为其他内容,或者代码的另一部分是否不正确 如何更改代码以使其正常工作 javascript: e = document.getElementsByClassName('likes'); f

我找不到“heart”的正确元素名,我想通过上面列出的javascript书签单击它

查看页面时,元素在单击后列为“喜欢”a.likes.does,在单击前列为“喜欢”?-应该有人帮我找到正确的名字,这样我才能更新代码

我正试图让这个书签点击页面上所有的红心 我不确定“likes”是否正确,或者是否应该将其更改为其他内容,或者代码的另一部分是否不正确

如何更改代码以使其正常工作

javascript: e = document.getElementsByClassName('likes');
for (i = 0; i < e.length; i++) {
    e[i].click();
}
void(0);
javascript:e=document.getElementsByClassName('likes');
对于(i=0;i
如果这不起作用,基本上我正在尝试执行javascript,最好是作为书签来单击页面上的类似内容


查看页面时,我不确定正确的类名,因此当前javascript由于未知原因无法工作?

您的代码看起来正常。问题是我甚至不能用鼠标点击灵车。他们没有连接click eventlistener。

您打算使用jQuery函数吗?如果不显式地创建引用jQuery的新
脚本
标记,这在bookmarklet中是行不通的


正如对您的问题的评论,您需要。

您可以模拟这样的鼠标单击事件

function clickAll() {
   var clickEvt = document.createEvent("MouseEvents");
   clickEvt.initMouseEvent("click", true, true, window,
                         0, 0, 0, 0, 0, false, false, false, false, 0, null);

   var e = document.getElementsByClassName('likes');
   for(i=0;i<e.length;i++) { e[i].dispatchEvent(clickEvt); }
}
函数clickAll(){
var clickEvt=document.createEvent(“MouseEvents”);
单击evt.initMouseEvent(“单击”,真,真,窗口,
0,0,0,0,0,false,false,false,false,0,null);
var e=document.getElementsByClassName('likes');

对于(i=0;i没有类似jQuery的东西,您无法调用。单击(),至少不一致(请参阅讨论)。您或者需要jQuery(这会给bookmarklet增加大量开销和复杂性)(请查看,或您自己的点击事件a la simulate.js–@ocanal在中提供了相应的代码。事实上,如果您将站点连接到您的Instagram帐户,他们会提供代码(有点道理——除了Instagram用户之外,还有谁会“喜欢”Instagram图片?)。代码的问题是我找不到元素名称。我认为它是'likes',但我似乎无法让代码作为bookmarklet或通过对网页执行'DO javascript'命令来运行。“这在bookmarklet中不起作用”令我吃惊的是……而不是其他建议……这两个都创造了对JQuery的参考……更新的答案虽然更简洁,但从来没有说过这是不需要的,但是你的最初答案也没有。引用Chalky White的“我们现在的COP”)。。这是因为OP在他们的站点中没有引用jQuery。感谢“copacate”,我以前从未听说过这个词:)理想情况下,代码应该用作书签或通过在页面上执行javascript操作来使用。我的代码的问题是我认为我没有正确的元素名称。并且不确定如何找到它,或者使用javascript在页面上执行“hearts on the page”的“click all”操作需要什么"这将是可行的,但是目前单击元素不起作用,但它是否有潜力被用作bookmarklet?是否“likes”是正确的类名?如何找到正确的类名?这很理想,我只想通过在页面上执行javascript来单击或触发当前页面上的所有like。但目前没有当我以bookmarklet或使用DO Javascript应用程序运行它时。@johndoe:在我的控制台上运行得很好–您在那里测试过吗?
likes
确实是正确的类名(登录时只需检查页面源代码——如果您使用Safari,我假设您使用Safari,正如您所说的使用
DoJavaScript
,请使用WebKit Inspector)。作为补充说明,最好使用
document.querySelectorAll('.likes')
,而不是
getElementsByClassName
,速度更快。