系统管理员和编码无知试图制作一个简单的工作页面。它有一个简单的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()?