我正在使用jquery对话框打开登录表单。它在ff,chrome甚至Ie6,7上工作正常 但它不适用于ie8。
这是我的功能:
function showSignInDialog() {
var email = GetEmailFromCookie();
if (!IsNullOrUndefined(email)) {
$("input[name$='LoginEmail']").val(email);
$("#chkRememberMe").attr("checked", "checked");
}
if (!$('#signInForm').dialog('isOpen')) {
$('#signInForm').dialog({ bgiframe: true,
modal: true,
resizable: false,
width: 330,
title: 'EZtrader Login',
buttons: { "Login": doLogin }
});
$('#signInForm').dialog('open');
}
}
<8>在ie8上我得到一个无响应的脚本,这意味着存在某种无限循环。
我尝试调试它,当我尝试打开对话框时,循环发生在jquery-ui js文件中。
我想也许它与某些事情有关
“HTML解析错误:在子元素关闭之前无法修改父容器元素(KB927917)”
我在这里读到的是:http://blogs.msdn.com/ie/archive/2008/04/23/what-happened-to-operation-aborted.aspx
并尝试在页面中移动脚本块和对话框但似乎没有任何效果。 请帮忙......
答案 0 :(得分:1)
这似乎是这样的: http://dev.jqueryui.com/ticket/4758
IE8没有正确处理window.resize函数。您需要根据我的判断调整本地版本的jquery-ui。
答案 1 :(得分:0)
遇到完全相同的问题。要摆脱第一个问题,“无法修改...”错误,请将脚本标记设置为deferred = deferred。
第二个问题与ie8的JavaScript解析器有关,我可以从中找到。似乎没有答案,虽然我没有想过iframe,如果那样可以解决问题,奖金!!!!
答案 2 :(得分:0)
自动填充必须仅用于document.ready。
请将自动完成初始化代码移到$(document).ready(function(){ [place here] })
块中,一切正常。