我有一个带有几个下拉列表的网站。当在一个下拉列表中选择一个值时,该网站将运行一个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吗? –