我正在使用 jquery 2.0,但还想使用 jQuery migrate 插件,以便我的网站可以在旧版浏览器上运行。然而,我一直没能成功地让它发挥作用。我的 html 标题部分有以下内容。
<head>
<meta http-equiv="X-UA-Compatible" content="IE=8" />
<script src="/Scripts/jquery-2.0.3.js"></script>
<script src="/Scripts/jquery.unobtrusive-ajax.min.js"></script>
<script src="/Scripts/jquery.validate.min.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.min.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
</head>
兼容性元标记是这样我可以在我的计算机(具有 IE 11)上测试它。我没有装有较旧 IE 的计算机。无论如何,这给了我 javascript 错误,例如:
0x800a01b6 - JavaScript 运行时错误:对象不支持属性
或方法“addEventListener”
jQuery 迁移指南 (https://github.com/jquery/jquery-migrate/)似乎只是说在包含 jQuery 之后包含迁移插件。我究竟做错了什么?
EDIT
我发现我的本地 jquery.js 文件一定已损坏,或者我从中获取的 nuget 包可能有一个错误版本。因为当我直接从 code.jquery.com 包含 jquery 时,该错误就会消失。
<head>
<meta http-equiv="X-UA-Compatible" content="IE=8" />
<script src="http://code.jquery.com/jquery-2.1.0.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
</head>
但是,我的脚本给出了错误。这是一个示例脚本
function HighlightSelectedRow(tr) {
$("#TableSummary tr").removeClass("HighlightedRow");
tr.className += " HighlightedRow";
}
它给出以下错误
0x800a138f - JavaScript runtime error: The value of the property '$' is null or undefined, not a Function object
Thanks