我有一個帶有幾個下拉列表的網站。當在一個下拉列表中選擇一個值時,該網站將運行一個JavaScript代碼,用於更改其他下拉列表中的選項。Javascript - 讓其他腳本執行,然後繼續腳本
(例如:我在第一個列表中選擇一個國家,並在其下方的下拉列表中填入該國家的城市列表)。
這不是我的網站。我正在嘗試創建一個Greasemonkey腳本來填充這些下拉列表的值。我能夠使用此jQuery命令模擬選項的選擇。
$('select[id="dropdown1"]').val("GBR").trigger('change');
這工作正常。它選擇頂部下拉菜單中的值。但是,其他人不會,因爲他們還沒有包含我在那裏發送的價值觀。
我希望其他下拉列表根據我的選擇填充,但直到我的腳本結束纔會發生。換句話說,在網站上運行並填充下拉列表的腳本將等待我的腳本結束。
我想實現的是暫停我的腳本,允許網站腳本運行,然後繼續我的腳本。換句話說,給網站腳本優先執行。
我試過使用setTimeout,但沒有奏效。它甚至會停止更改頂部下拉列表值。
setTimeout(function() {
$('select[id="dropdown1"]').val("GBR").trigger('change');
}, 3000);
任何想法如何暫停我的腳本,讓別人執行,然後繼續運行我的腳本?
如何加載其他下拉列表的選項? – dferenc
你不應該把這段代碼放在'setTimeout'回調中,而是另一個二級代碼,它與其他列表一起工作。 – trincot
你在Firefox上使用Greasemonkey 4嗎? –