0
在這裏的大規模反語是我開始寫這個腳本作爲對StackExchange網絡上的另一個問題的答案。Greasemonkey腳本觸發每次通過谷歌即時新的查詢
我正在寫一個Greasemonkey腳本,我想在Google搜索結果上運行。 每當用戶搜索某些內容時,我希望腳本運行該命令。
document.querySelector(".lr_dct_spkr > input:nth-child(1)").click();
Autplays當你查詢「定義X」到谷歌
不過,我很快就意識到,簡單地寫入到腳本的底部,這意味着它只能被觸發時,搜索結果中負載的音頻第一次,並且我需要它在每次有新的查詢(或一組搜索結果出現)時觸發。我最初認爲這可能是一個Ajax問題,並嘗試使用waitForKeyElement函數解決它,但無論我等待什麼樣的元素,我都無法觸發它(等待的最佳元素是定義出現的卡片上,但它並不重要什麼元素)。
// @include www.google.com/*
// @require https://git.io/vMmuf
// @version 1
// @grant none
// ==/UserScript==
$.waitForKeyElements ("div.lr_dct_ent_ph",launchsound);
function launchsound(){
document.querySelector(".lr_dct_spkr > input:nth-child(1)").click();
}
然後我發現Google甚至不使用Ajax,但是這個解決方案應該工作嗎?
TL:DR:如何在每次將新的搜索查詢放入Google即時時觸發該腳本?
你的意思是觸發:用戶鍵入搜索查詢;用戶鍵入搜索查詢後;用戶點擊搜索按鈕後;或結果頁面加載後? – EyuelDK
每次結果頁面加載一組不同的結果(即用戶點擊搜索按鈕後) – SleepingGod
如果我的答案是一個不足的解決方案,請讓我知道,以便我可以幫助您找到更好的解決方案。如果您對提供的解決方案感到滿意,請不要忘記標記答案。 – EyuelDK