1

(私の悪い英語でごめんなさい)

私は大きな問題を抱えており、数日間私を打ち負かしてきましたが、既知のフォーラム (およびあまり知られていない) で主題を非常に深く掘り下げようとしても、解決策が見つかりません。リンクの配列を回復する必要がある Javascript で小さなアプリケーションを開発しています。同じページでこれらのリンクを 1 つずつ開き、ボタン (名前を投稿するボタン) をクリックします。少し時間がたってから、名前が適切に投稿されていて、ページに表示されている名前と一致していることを確認します (固定div)。この時点で、基本ページをめくってから、配列に含まれる 2 番目のリンクでスクリプトを再度開始します。

問題は、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"));
        };
    }
}

事前に感謝します。私の問題を含めて理解していただければ幸いです。

これは、言葉よりもうまく説明するためのちょっとした図です : リトルスキーマ

つまり、私が必要としているのは、リンクを保存する (完了) --> リンクを開く --> ボタンをクリックする (完了) --> 2 つの名前が同じかどうかを確認する --> に戻ってきたということです。最初のページ/ポップアップを閉じる/ (または、配列内の 2 番目のリンクに直接移動します) --> 2 番目のリンクに対してこれを行います。

こんばんは。

4

0 に答える 0