2012-05-07 128 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