如何修改代码以使用 IE <= 9



我有以下代码,在Chrome和IE 10和FF中工作正常,但在IE 8中不起作用,很可能在IE 9中也不起作用:

<script type = "text/javascript">
$(document).ready(function () {
var $j = jQuery.noConflict();
console.dir($j("#Button1"));
$j("#Button1").click(function () {
var textbox = document.getElementById("TextBox1").value;
if (textbox.length > 0) {
//alert("Search query is not empty and redirecting...");
window.location.href = "http://www.mypagep.com/search_results.aspx?searchtext=" + textbox + "&folderid=0&searchfor=all&orderby=title&orderdirection=ascending";
}
else {
alert("Search query is empty");
document.getElementById("TextBox1").focus();
}
});
$j('#TextBox1').keyup(function () {
var $th = $j(this);
$th.val($th.val().replace(/[^a-zA-Z0-9 ]/g, ''));
});
$j('#TextBox1').keypress(function (e) {
var textbox = document.getElementById("TextBox1").value;
var code = (e.keyCode ? e.keyCode : e.which);
if (code == 13) {
if (textbox.length > 0) {
e.preventDefault();
window.location.href = "http://www.mypage.com/search_results.aspx?searchtext=" + textbox + "&folderid=0&searchfor=all&orderby=title&orderdirection=ascending";
}
else {
e.preventDefault();
alert("Search query is empty");
document.getElementById("TextBox1").focus();
}
}
});
});
</script>

我正在为库链接使用以下内容:

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>

我正在使用似乎与 JQuery 冲突的 CMS,这就是为什么我被迫使用以下行:var $j = jQuery.noConflict();并使用$j而不是普通的$符号

功能性: 如果用户在文本框中输入任何无效字符,则将删除这些字符。如果用户在文本框中按 Enter 并且其中有字符,则用户将被定向到搜索页面,否则它们将显示一个警告框。搜索按钮也是如此,如果用户按下但文本框中没有文本,则用户将显示一个警告框,并且不会发生任何事情,但如果文本框内有文本,用户将被定向到搜索页面。

我们被迫使用IE8,因为其他一些软件,所以我试图让它在旧版本的IE中工作:/

如何修改代码以使其适用于不是最新的 IE 浏览器版本?

您的问题是 IE8 中不存在console.dir,即使开发人员工具处于打开状态(当开发工具关闭时,console对象在 IE9 中不存在<)。将其更改为console.log,或删除它。对于 IE8 代码,您可能希望将console调用排除在其中,除非您在特定时刻需要它们,因为需要为其打开开发工具。

此外,您应该强烈考虑 Spudley 关于您拨打电话的评论jQuery.noConflict().这应该高于$(document).ready调用,并将其更改为$j(document).ready,以便您的.ready()调用使用无冲突 jQuery 变量。

最新更新