这个javascript代码有什么问题,在IE中获取“Operation aborted”?

时间:2010-03-05 13:16:40

标签: javascript jquery

我正在收到对话框(操作已中止)

此代码有什么问题?

<script type="text/javascript"> 
$(document).ready(function() {
$('.demo').popupWindow({ 
centerScreen:'1'
}); 
});
</script>

2 个答案:

答案 0 :(得分:3)

当IE尝试在IE渲染引擎完成处理之前尝试修改DOM(HTML页面的结构)时,IE中会出现“操作已中止”消息。结果基本上是渲染引擎崩溃,你被从页面带走到“取消操作”错误页面。

广泛发布的解决方案是等待DOM加载,使用FastInit,原型$(document).observe('dom:loaded')或jQuery $(document).ready等工具。但您已经在使用$(document).ready。所以你的代码应该可以工作。

我在这里问了基本相同的问题:IE7 "Operation Aborted" even with FastInit?

我接受了@ NickFitz的答案,因为不接受答案导致我的接受率下降,他提供了最有用的信息。最终我所做的是将我的脚本移到</body>标签之前,这似乎解决了这个问题。试试看,看看它是否适合你。如果您无法实际移动脚本,请将其包装在函数中并调用该函数。即:

<script type="text/javascript"> 
var showDemoPopupWindow = function() {
  $('.demo').popupWindow({ 
    centerScreen:'1'
  });
}
</script>
...
</head>
<body>
...
...
<script type="text/javascript"> 
$(document).ready(showDemoPopupWindow);
</script>
</body>
</html>

答案 1 :(得分:2)