システム管理者とコーディング無知は、単純なジョブ ページを作成しようとします。シンプルな JavaScript 関数があります。
function run(job){
var ok = confirm("Are you sure?");
if(ok == true){
location = 'job.php?op=' + job;
window.location.href = location;
} else {
window.location.reload();
}
}
シンプルなボタンで呼び出されます:
<button style="color: red" onclick="run('test1');">Test1</button>
私の理解のように、ここでのキーワードは単純です。
これは Chrome では機能しましたが、ボタンは Firefox (両方のブラウザーの現在のバージョン) では何もしません。
スクリプトをデバッグしようとして、.href の前に単純な警告行を追加したので、スクリプトは次のようになります。
function run(job){
var ok = confirm("Are you sure?");
if(ok == true){
location = 'job.php?op=' + job;
alert(location);
window.location.href = location;
} else {
window.location.reload();
}
}
...そして、スクリプトはFirefoxでも機能しました。アラートが短時間表示されるのを確認できましたが、すぐにリダイレクトされ、一瞬で消えました。しかし、Chrome ではポップアップが持続するため、これは適切な回避策ではありません。また、Firefox での動作は奇妙で、私のやり方が間違っていることがわかります。
私の質問は、スクリプトの動作に一貫性がないのはなぜですか? また、この動作を回避して両方のブラウザーで一貫性を保ち、追加の alert() を必要としないようにするにはどうすればよいですか?