1

(对不起,我的英语不好)

我有一个大问题,我已经打败了我好几天,但我没有找到任何解决方案,即使在已知论坛(并且鲜为人知)的主题中进行深入挖掘时也是如此。我用 Javascript 开发了一个小型应用程序,它必须恢复一组链接。我在同一页面中一个一个地打开这些链接,然后单击一个按钮(发布名称),然后在一小段时间后检查该名称是否正确发布并与页面上显示的名称相对应(在一个固定的div)。这时候,我在基本页面上翻了一遍,然后用数组中包含的第二个链接再次启动脚本。

问题是在 window.load() 函数之后代码不再执行。我在 Google Chrome 上测试代码(在 Javascript 控制台中),它给我一个错误:“Uncaught ReferenceError: init is not defined … onload”。

我希望您能够帮助我找到如何在启动页面时执行代码,因为每个键都会在关系页面中打开一个页面。之前,我在一个带有 window.open () 函数(没有“_parent”)的弹出窗口中进行了测试,我想通过 window.close () 函数来关闭它,但是代码没有包含/理解从哪里开始操作代码的其余部分现在处理弹出窗口,而不是一开始执行代码的页面。

这是代码:

//Here i get the links in an array
    function recupHref(){
        var lesHref = new Array();
        var lesLiens = document.getElementsByTagName("a");

        for(var i = 0; i < lesLiens.length; i ++)
            if(lesLiens[i].parentNode.getAttribute("class") == "pubrhead-text-right")
                lesHref.push(lesLiens[i].getAttribute("href"));
        return lesHref;
    }
    var resultat = recupHref(); //I store them in a variable

//The main function which open the links one by one
//The while loop allows us to know if were subscribed or not 
    var o = function openLinks(){

        for(var leIndex = 0; leIndex < resultat.length; leIndex ++){
            window.open(resultat[leIndex], "_parent");

              //Do i use window.load instead of DOMContentLoaded ?
        addEventListener("DOMContentLoaded", function() {
            document.getElementById("enbut").click();
            var pseudo = document.getElementById("nameho").innerHTML;
            var pseudok = document.getElementsByClassName("pname")[0].textContent;
        });

        while (pseudo === pseudok) {
            !(window.open("http://page-with-links.html", "_parent"));
        };
    }
}

我提前感谢你,我希望你能包括/理解我的问题。

这是一个比文字更好地解释的小画: 小架构

换句话说,我需要的是:存储链接(完成)->打开链接->单击按钮(完成)->检查两个名称是否相同->回到第一页/关闭弹出/(或直接转到数组中的第二个链接)->为第二个链接等执行此操作,等等。

美好的一天/晚上。

4

0 回答 0