javascript 跳线 safari
javascript skipping lines safari
所以我遇到的问题只是间歇性地发生,并且 仅 在 safari 中。
这在除 safari 之外的所有经过测试的浏览器中始终有效。在 safari 中,当我在代码中设置断点时,它一直有效,但当我没有设置断点时,每 10 次尝试中只有大约 1 次。
以下函数由单选按钮组的 onchange 调用。
function anl_tabs_submit() {
document.getElementById("cssload-loader").style.opacity = 1;
document.getElementById("anl_wholetable").style.opacity = 0.4;
document.getElementById("anl_tab_form").submit();
var radios = document.getElementsByName('tab');
for (var i = 0; i< radios.length; i++){
radios[i].disabled = true;
}
}
被跳过的行是前 2 行:
document.getElementById("cssload-loader").style.opacity = 1;
document.getElementById("anl_wholetable").style.opacity = 0.4;
我在html,单选按钮组模拟标签。我想要的是,当用户单击一个选项卡时,选项卡中的内容变暗,并出现一个隐藏的奶嘴,然后提交该组所属的表单。
如果我在代码的不同位置放置警报,警报总是有效,但 2 个不透明度变化只是偶尔发生(在 safari 上)。
这是 Safari 浏览器的问题,还是我做错了什么?
提前致谢,
杰夫
好的,我解决了问题...终于!
在我到达提交行之前,Safari 上的 UI 没有更新。这是我修复它的方法(以防将来有人遇到同样的问题:
function anl_tabs_submit(frm) {
document.getElementById("cssload-loader").style.opacity = 1;
document.getElementById("anl_wholetable").style.opacity = 0.4;
window.setTimeout(function(){
document.getElementById(frm).submit();
var radios = document.getElementsByName('tab');
for (var i = 0; i< radios.length; i++){
radios[i].disabled = true;
}
}, 0);
}
重要的是 window.setTimeout,它似乎让浏览器有时间更新 window,然后再继续 运行 脚本后半部分的说明。
所以我遇到的问题只是间歇性地发生,并且 仅 在 safari 中。
这在除 safari 之外的所有经过测试的浏览器中始终有效。在 safari 中,当我在代码中设置断点时,它一直有效,但当我没有设置断点时,每 10 次尝试中只有大约 1 次。
以下函数由单选按钮组的 onchange 调用。
function anl_tabs_submit() {
document.getElementById("cssload-loader").style.opacity = 1;
document.getElementById("anl_wholetable").style.opacity = 0.4;
document.getElementById("anl_tab_form").submit();
var radios = document.getElementsByName('tab');
for (var i = 0; i< radios.length; i++){
radios[i].disabled = true;
}
}
被跳过的行是前 2 行:
document.getElementById("cssload-loader").style.opacity = 1;
document.getElementById("anl_wholetable").style.opacity = 0.4;
我在html,单选按钮组模拟标签。我想要的是,当用户单击一个选项卡时,选项卡中的内容变暗,并出现一个隐藏的奶嘴,然后提交该组所属的表单。
如果我在代码的不同位置放置警报,警报总是有效,但 2 个不透明度变化只是偶尔发生(在 safari 上)。
这是 Safari 浏览器的问题,还是我做错了什么?
提前致谢,
杰夫
好的,我解决了问题...终于!
在我到达提交行之前,Safari 上的 UI 没有更新。这是我修复它的方法(以防将来有人遇到同样的问题:
function anl_tabs_submit(frm) {
document.getElementById("cssload-loader").style.opacity = 1;
document.getElementById("anl_wholetable").style.opacity = 0.4;
window.setTimeout(function(){
document.getElementById(frm).submit();
var radios = document.getElementsByName('tab');
for (var i = 0; i< radios.length; i++){
radios[i].disabled = true;
}
}, 0);
}
重要的是 window.setTimeout,它似乎让浏览器有时间更新 window,然后再继续 运行 脚本后半部分的说明。