我有一个带有几个下拉列表的网站。当在一个下拉列表中选择一个值时,该站点会运行一个 JavaScript 代码来更改其他下拉列表中的选项。
(例如:我在第一个列表中选择了一个国家,它下面的下拉列表中填充了该国家的城市列表)。
这不是我的网站。我正在尝试创建一个 Greasemonkey 脚本,将值填充到这些下拉列表中。我可以使用这个 jQuery 命令来模拟选项的选择。
$('select[id="dropdown1"]').val("GBR").trigger('change');
这工作正常。它选择顶部下拉列表中的值。但是,不在其他人中,因为它们尚未包含我发送到那里的值。
我希望根据我的选择填充其他下拉列表,但这在我的脚本结束之前不会发生。换句话说,在网站上运行并填充下拉列表的脚本等待我的脚本结束。
我想要实现的是暂停我的脚本,允许网站脚本运行,然后继续我的脚本。换句话说,让网站脚本优先执行。
我尝试使用 setTimeout 但这没有用。它甚至停止更改顶部下拉列表值。
setTimeout(function() {
$('select[id="dropdown1"]').val("GBR").trigger('change');
}, 3000);
知道如何暂停我的脚本,让其他人执行然后继续运行我的脚本吗?