-2

次のJSを使用して、IDが「someID」の要素をターゲットにし、6秒後にリダイレクトしています。この要素 ID が存在するページでのみこれを機能させたいのですが、現在は適用されているすべてのページをリダイレクトします。ここで何が間違っていますか?

if (!document.getElementById("someID")) {
            setTimeout(function () {
             window.location.href = "http://www.somesite.com"; 
        }, 6000); 

};
4

2 に答える 2

2

私の推測では、実際の要素が読み込まれるまで待っていなかったと思います。

ページの先頭にコードがある場合は、要素が使用可能になるまでスクリプトが実行されないように、onload でラップする必要があります。

window.onload=function(){
 if (document.getElementById("someID")) {
   setTimeout(function () {
     window.location.href = "http://www.somesite.com"; 
   }, 6000); 
  }     
}
于 2012-06-09T18:00:16.487 に答える
0
if (document.getElementById("someID") != null) {
            setTimeout(function () {
             window.location.href = "http://www.somesite.com"; 
        }, 6000); 
};
于 2012-06-09T17:23:24.340 に答える