1

次のコードスニペットはIEとChromeで機能しますが、Firefoxでは機能しません。理由はわかりません。

このスニペットでは、IEとChromeで開いたときにGoogleへの2つのリンクがウェブページに表示されますが、Firefoxでは何も表示されません。bodyタグのscriptタグにあります。

var varOne = document.createElement("a")
varOne.setAttribute("href", "http://www.google.com")
varOne.innerText = "Google"
document.body.appendChild(varOne) //attach the node to the body

var varOne = document.createElement("a")
varOne.setAttribute("href", "http://www.google.com")
varOne.textContent = "Google"
document.getElementById("bodyID").appendChild(varOne) //attach the node to the body




これについては、ボタンをクリックしてyahoo.comにアクセスします。ブラウザの戻るボタンを押すと、前のページに戻りますが、JavaScriptが再度実行され、ブラウザはyahooに戻ります。元のページを離れると、yahooにリダイレクトされずに戻ってそこにとどまることができません。これはIEとChromeで発生することです(これは私が学習目的で意図したものです)が、Firefoxで機能しない理由がわかりません。Yahooから元のページに戻ると、Firefoxは他の2つのブラウザのようにブラウザを強制的に進めません。

<body>
<form>

    <input type="button" onclick="javascript: window.location='http://www.yahoo.com' "/>

</form>

<script type="text/javascript">

    alert("Problem?")
    window.history.forward()     
</script>
</body>
4

1 に答える 1

1

メソッドに渡し1てみてください:forward

window.history.forward(1);

これが機能しない場合、これはブラウザー メーカー間のユーザビリティのグレー エリアであるように思われるため、おそらく不運です。JavaScript(ユーザー以外の何か) が直接の関与なしに現在のページを変更できるようにすることは、使いやすさの問題です — ポップアップ/ポップアンダー ウィンドウを絶えず起動するのと似ています

于 2012-07-07T19:08:09.283 に答える