在新页面上进行Javascript

时间:2017-11-11 13:22:34

标签: javascript

我已经遇到了一个难题,我目前的代码在一个页面上

(function() {

var x = document.getElementById("length").options;
for (var i = 0; i < x.length; i++) {
    if (x[i].text == "40") {
        x[i].selected = true;
        document.getElementsByName("buy")[0].click();
        break;
    }
}

var delayMillis = 400;
setTimeout(function() {
    document.getElementsByClassName("button")[0].click();
}, delayMillis);

目前所有这些代码都完美无缺,但是一旦完成第二项任务,它就会打开一个新页面,然后代码就不会继续运行。

我希望在完成第一项任务后运行的代码是document.getElementsByClassName("checkbox terms")[0].click();

这段代码也运行完美,我如何整合第一部分和第二部分,但第二部分在另一部分加载后运行?

第一部分在一个页面上,一旦第二个按钮被击中就会进入第二部分,我试图创建一个自动化过程。

1 个答案:

答案 0 :(得分:0)

当您从一个页面移动到另一个页面时,运行代码的整个JavaScript环境将被清除,并被新页面的 new 环境所取代。 (如果情况并非如此,请考虑一些惊人的安全问题。)

所以你需要将代码分成两部分,一部分应该在新页面加载之前运行,另一部分应该在之后运行。然后使用查询字符串参数,会话存储中的值或其他一些值,以便在页面加载时,它知道它需要运行第二部分。