执行使用bookmarklet导致重定向的javascript命令

Executing javascript command that causes a redirect using a bookmarklet

本文关键字:重定向 javascript 命令 bookmarklet 执行      更新时间:2023-09-26

我正在尝试创建一个javascript bookmarklet,它将在web应用程序上执行四个命令。

tabClick('1');
document.getElementById('2').click();
document.getElementById('3').click();
tabClick('4');

现在,tabClick('4')或第三行以下的任何函数都不会执行。我认为这是因为document.getElementById('3').click();引起重定向,这似乎擦除书签。

是否有任何方法可以让书签在重定向后继续在下一页上运行代码?

另外,我目前只是使用setTimeout暂停一秒钟,等待每个命令加载之前做下一个像这样:

javascript:tabClick('1');setTimeout(function(){document.getElementById("2").click();},2000); setTimeout(function(){document.getElementById("3").click();},3000);

是否有一种方法可以告诉代码在前一行完成加载时运行下一行?

这是不可能的,您可以在窗口中创建一个队列对象,在页面加载时执行队列中的命令。

但是,当第二个命令正在重定向页面时,为什么要单击另外两个元素呢?如果很重要,我建议更改当前执行的命令的顺序。