2012-05-07 52 views
2

我不能为的“心脏”,我想通过观看的元素被列为页面上时http://ink361.com/#/tag/JavaScript书签不起作用?

列出一个JavaScript书签点击找到正确的元素名称'喜欢“a.likes.does”后点击和“a.likes”事先点击? - 有人应该帮助找到正确的名称,以便我可以更新代码。

我想让这个小书签点击页面上所有的心' 我不确定'喜欢'是否正确,或者如果我应该改变它到别的东西,或者如果代码的另一部分是不正确的?

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

javascript: e = document.getElementsByClassName('likes'); 
for (i = 0; i < e.length; i++) { 
    e[i].click(); 
} 
void(0); 

如果这不起作用,基本上我试图执行一个JavaScript,最好作为一个书签来点击页面上的喜欢。

查看页面时,我不确定正确的类名,所以目前的JavaScript不工作原因未知?

+1

...至少不一致(见[这个答案线程]讨论(http ://stackoverflow.com/a/10145332/990363))。您可能需要jQuery(这会为您的书签添加显着的开销和复杂性(请查看[jQuery书签生成器](http://benalman.com/projects/run-jquery-code-bookmarklet/))或您的自己的点击事件àla * simulate.js * - @ocanal在[他的回答](http://stackoverflow.com/a/10487476/990363)中提供了代码 – kopischke

回答

-1

您的代码看起来不错。问题是我甚至无法用鼠标点击听到。他们没有附加点击eventlistener。

+0

实际上,他们这样做 - 如果您连接网站到你的Instagram帐户(有点有道理 - 还有谁会像Instagram用户那样“喜欢”Instagram的图片?) – kopischke

+0

代码的问题是我无法找到元素名称,我认为它是'喜欢'但我似乎无法让代码充当小书签或通过对网页执行“DO javascript”命令。 –

2

您是否打算使用click jQuery函数?这将不明确地创建一个新的script标签引用jQuery的..

由于IanW评论你的问题,你将需要create your own click function一个书签内工作。

+0

“这不会在书签内工作”令我惊讶 - [本文](http://编码.smashingmagazine.com/2010/05/23/make-your-own-bookmarklets-with-jquery /)和[Ben Alman's jQuery书签生成器](http://benalman.com/projects/run-jquery-code-bookmarklet/)而不是其他建议... – kopischke

+0

这两者都创建了jQuery的引用...更新后的答案更简洁。 –

+0

永远不要说这不是必需的 - 但你的原始答案也没有。引用无与伦比的垩白,“我们现在一起合作”)。 – kopischke

2

可以模拟鼠标点击事件就是这样,

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); } 
} 
+0

这将工作,但它目前无法点击元素,但它有可能被用作书签吗?是否喜欢正确的类名?我如何找到正确的类名? –

+0

这是理想的,我只是想通过在页面上执行JavaScript来单击或触发当前页面上的所有喜好。但是,目前这并不是当我将它作为书签运行时,或者通过使用DO JavaScript应用程序运行它。 –

+0

@johndoe:在我的控制台上运行得很好 - 你在那里测试过吗? 'likes'确实是正确的类名(只要在登录时检查页面源代码 - 如果您使用的是Safari,我假设您使用了'do javascript',使用WebKit Inspector)。作为一个方面说明,更好地使用'document.querySelectorAll('。likes')'而不是'getElementsByClassName' - 它要快得多。 – kopischke