1

JavaScriptが有効になっていない場合に、ユーザーを特定のページにリダイレクトするロジックに取り組んでいます。数秒ごとに更新されるメタタグを配置しました。JavaScriptが有効になっていて、JavaScriptを使用してその要素を削除したい場合。

多くのことを試しましたが、タグを削除できませんでした。また、タグのコンテンツを空にしようとしましたが、それでもリダイレクトされます。

この問題に対処する他の方法はありますか?

私はあなたが見てみるためにいくつかのコードを投稿しています、私はちょうどそれをウェブからつかみました、しかし私がコードを通してデバッグするとき内容を空にしているようです:

var m = $('meta');

for (var c = 0; c < m.length; c++) {
    m[c].parentNode.removeChild(m[c]);
    m[c].content = '';
}

私もサーバー側のソリューションを受け入れていますが、クライアントはjavaScriptが有効になっているかどうかなどの多くの情報を送信しません......。

4

1 に答える 1

6

これを試して:

// THIS DOES NOT WORK
$( 'meta[http-equiv="refresh"]' ).remove();

それは確かにあなたのjQueryコードがどれくらい早く実行されるかそしてあなたのリフレッシュがどれくらい早くトリガーされるかに依存します...

更新:上記の方法は機能しません。メタ要素がDOMから削除されても、ブラウザーは引き続き更新を実行します。

ライブデモ: http ://www.ecmazing.com/misc/test-removing-meta-element/


私はあなたもこれを行うことができるはずだと信じています:

<noscript>
    <meta http-equiv="refresh" content="..."> 
</noscript>

したがって、メタ要素をNOSCRIPT要素でラップする場合は、JavaScriptが無効になっている場合にのみ解析する必要があります。

ここでNOSCRIPT要素について読んでください:https ://developer.mozilla.org/en/HTML/Element/noscript

于 2012-06-15T16:33:05.017 に答える