前些天因为需要写了类似如下的代码
window.onload=Init; function Init(){ var getAnswer; if(window.name!='yes'){ getAnswer=window.prompt("问题","答案"); } } //.......................................................
除了在ie8下不能弹出对话框外,其它浏览器都没有问题。这个问题让我困惑了一个晚上,一直没有弄明白,在ie下debuger,输出window对象的属性,可以看得到有prompt这样一个方法(见下图,在ie下debuger输出window对象,查看它的属性),可是却怎么也不弹出对话框,单步调试明明是看到有执行,却不见对话框,很无奈!
在与朋友讨论中,在stackoverflow上查到这样一篇文章,其中解释了为什么。详见:http://stackoverflow.com/questions/10197147/prompt-with-internet-explorer-8
原来,这和ie8的设置有关!
从图中可以看到真是被禁止了!不得不让人吐糟ie了。