我正在使用简单的模态JQUERY插件在我的MVC 4网站上弹出窗口,它可以正常使用CHROME和FIREFOX,但不适用于Internet Explorer v10.0,如果我在IE中打开网站它会抛出< strong> java脚本错误和模态弹出窗口没有出现
Unhandled exception at line 16, column 133 in http://localhost:55939/Scripts/jquery.simplemodal.1.4.4.min.js
0x800a01b6 - JavaScript runtime error: Object doesn't support property or method 'removeExpression'
在布局页面中,我正在渲染以下脚本
<script src="@Url.Content("~/Scripts/jquery-2.0.2.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.infieldlabel.min.js")" type="text/javascript"></script>
以下是我的Login.cshtml页面
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript" ></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript" ></script>
<script src="@Url.Content("~/Scripts/jquery.simplemodal.1.4.4.min.js")" type="text/javascript" ></script>
<div id="login" class="modal">
@using (Html.BeginForm())
{
<p class="heading"><u>Sign in to your Account</u></p>
<p>
@Html.LabelFor(m => m.Username, new { @class = "inlabel" })
@Html.TextBoxFor(m => m.Username, new { @class = "infield" })
</p>
<p>
@Html.LabelFor(m => m.Password, new { @class = "inlabel" })
@Html.PasswordFor(m => m.Password, new { @class = "infield" })
</p>
<table class="errorMessage">
<tr>
<td height="10px">
@Html.ValidationSummary(true, "Login was unsuccessful. Please correct the errors and try again.")
</td>
</tr>
</table>
<div>
@Html.ActionLink("Forgot your password?", "ForgotPassword")
<input type="submit" value="Sign In" class="submitButton" />
</div>
}
</div>
<script type="text/javascript">
$(document).ready(function () {
$("label").inFieldLabels();
$("#login").modal({ overlayCss: { backgroundColor: '#CCCCCC' } });
})
</script>
我不确定简单的modal和jquery插件是否存在任何兼容性问题,我们非常感谢任何帮助。
非常感谢
答案 0 :(得分:2)
请参阅Noah Lehmann-Haupt在这个问题中的答案:Simple Modal, jQuery 1.8.0 and IE9
您需要编辑jquery.simplemodal
的一行 // (Line 239) $.support.boxModel is undefined if checked earlier
//browser.ieQuirks = browser.msie && !$.support.boxModel;
browser.ieQuirks = browser.msie && (document.compatMode === "BackCompat");
jQuery 1.10.1已重新发生此问题
答案 1 :(得分:0)
问题是IE希望一切都干净整洁。无论如何,这是一个错误,你可以检查我在这说什么