在IE的安全设置中,有一个“脚本”设置“允许网站使用脚本化窗口提示信息”。
我正在尝试使用“confim()”对话框作为大型数据库更新的简单确认(在它们发送之前)。但是在调试alert()的外观(或缺少)时也是如此。
如果安全设置设置为禁用,则确认失败(与用户选择“取消”相同)。
我想知道是否有办法以编程方式确定设置是否被禁用(在实际的confirm()调用之前)并且只是在那种情况下执行提交。确认真的只是一个精确的。
答案 0 :(得分:0)
有问题的设置适用于window.prompt()
方法,不会影响window.confirm()
方法。
在没有实际调用方法的情况下,无法从JavaScript检测该设置的状态。
答案 1 :(得分:0)
我确实'有点'想出一种方法来确定是否通过测量返回调用所花费的时间来显示window.prompt()。如果它小于100毫秒,则用户可能从未看过它(即它被禁用)。
100ms ==(基于第二条规则的第10个任意数字:即 平均人类对用户界面做出反应的时间 最佳情况)
var start = (new Date).getTime();
var data = prompt("test","test");
var diff = (new Date).getTime() - start;
if( diff < 100 )
{
// no prompt
}
else
{
// prompt was displayed
}