1

私は現在、ループと関数の再帰呼び出しを使用してタブをチャンクで開こうとしています。

open_pix : function()
{
    ...

    for (i=start; i <= rounds; i++) 
    {
        window.open(mp_op.xpathResult.snapshotItem(i).getElementsByTagName("a")[0].href,'');
    }

    ...

    if (flag)
    {
        var t = window.setTimeout( mp_op.open_pix, mp_op.timeoutMS );
    }

残念ながら、私のスクリプトは、タブの最初のチャンクを開いた後、完全に機能しなくなります。ブラウザが新しいタブをロードした後にスクリプトが強制終了されると思いますが、最初に開いたタブの後でスクリプトが停止するため、これは正しくありません。

それで、私は再び何を間違えましたか?

4

1 に答える 1

0

このようにしてください

   open_pix : function()
    {
        ...
        opner : function () {
           for (i=start; i <= rounds; i++) 
          {
            window.open(mp_op.xpathResult.snapshotItem(i).getElementsByTagName("a")[0].href,'');
          }

           ...

           if (flag)
           {
             var t = window.setTimeout( mp_op.open_pix, mp_op.timeoutMS );
           }
         }
      opner();
    }

そのため、open_pix が opner 関数の実行を終了した後、「クロージャー」の作業を続けます。

于 2012-11-04T03:00:37.290 に答える