被jQuery折騰得半死,揭秘為何jQuery為何在IE/Firefox下均無(wú)法使用
更新時(shí)間:2010年01月22日 16:38:50 作者:
某學(xué)員前日實(shí)施一個(gè)Web項(xiàng)目實(shí)施發(fā)生了悲劇,找到我求解決,把我也折騰個(gè)半死。
其所用項(xiàng)目由Asp.Net技術(shù)開(kāi)發(fā),仍然使用的Webform作為前端處理,但某些功能包含了jQuery的功能,他遇到的問(wèn)題就是無(wú)論用IE還是Firefox,包含jQuery的那部分頁(yè)面功能都無(wú)法正常使用。
搜索Google后,結(jié)果可以歸納為3種:
沒(méi)有啟用FSO功能
IE安全設(shè)置級(jí)別過(guò)高
沒(méi)有安裝MSXML
但針對(duì)現(xiàn)在項(xiàng)目檢查后,以上均不是問(wèn)題所在,在項(xiàng)目中帶有個(gè)測(cè)試頁(yè)面,可以檢查服務(wù)器端是否能正常運(yùn)行jQuery,內(nèi)容和jQuery官方網(wǎng)站的內(nèi)容一樣:
代碼
<html>
<head>
<script type="text/javascript" src="js/jquery.js" />
<script type="text/javascript">
$(document).ready(function() {
$("a").click(function() {
alert("Hello world!");
});
});
</script>
</head>
<body>
<a href="#">Link</a>
</body>
</html>
可無(wú)論如何就是不能在IE或火狐中看到j(luò)Query彈出的"OK"提示,我就囧了……于是我執(zhí)行以下步驟:
下載最新的jQuery腳本替換掉項(xiàng)目中帶有的版本
檢查每行javascript代碼
檢查 IE安全設(shè)置,設(shè)置為最低
…………
均沒(méi)有見(jiàn)到效果,直到今天突然才發(fā)現(xiàn),該頁(yè)面調(diào)用jQuery 的引用行是這樣書(shū)寫(xiě)的
<script type="text/javascript" src="js/jquery.js" />
我改成
<script type="text/javascript" src="js/jquery.js" ></script>
“OK”終于彈出來(lái)了……
但問(wèn)題還沒(méi)有結(jié)束,項(xiàng)目開(kāi)發(fā)者是在母版頁(yè)中包含了jQuery, 源碼如下
代碼
<asp:ScriptManager ID="ScriptManager1" runat="server" >
<Scripts>
<asp:ScriptReference Path="~/js/jquery.js" />
</Scripts>
</asp:ScriptManager>
查閱ASP.NET官方論壇可以看到答案http://forums.asp.net/t/1377657.aspx,我將Script控件屬性添加EnablePartialRendering="true" 和 EnableScriptGlobalization="false" 后,一切正常,至此問(wèn)題全部解決,項(xiàng)目成功部署。
總結(jié):感謝樓下花時(shí)間看完我這篇文章,但我查閱了W3C關(guān)于html中引用<script>腳本的規(guī)范http://www.w3.org/TR/REC-html40/interact/scripts.html#h-18.2.2.3,也未找到<script />這樣寫(xiě)法是不符合規(guī)范的定義,只看到了提倡盡可能不用閉合標(biāo)記">"而是用"<"比較好(如“ y < x”比"x > y"好)。
又見(jiàn)留言,再度感謝。但我想表達(dá)的意思是,這種寫(xiě)法僅在asp.net環(huán)境下會(huì)出現(xiàn)問(wèn)題,如果在php中這樣書(shū)寫(xiě)<script src='.....' type='text/javascript' />,在apache環(huán)境下可以正常運(yùn)行并得到結(jié)果。
搜索Google后,結(jié)果可以歸納為3種:
沒(méi)有啟用FSO功能
IE安全設(shè)置級(jí)別過(guò)高
沒(méi)有安裝MSXML
但針對(duì)現(xiàn)在項(xiàng)目檢查后,以上均不是問(wèn)題所在,在項(xiàng)目中帶有個(gè)測(cè)試頁(yè)面,可以檢查服務(wù)器端是否能正常運(yùn)行jQuery,內(nèi)容和jQuery官方網(wǎng)站的內(nèi)容一樣:
代碼
復(fù)制代碼 代碼如下:
<html>
<head>
<script type="text/javascript" src="js/jquery.js" />
<script type="text/javascript">
$(document).ready(function() {
$("a").click(function() {
alert("Hello world!");
});
});
</script>
</head>
<body>
<a href="#">Link</a>
</body>
</html>
可無(wú)論如何就是不能在IE或火狐中看到j(luò)Query彈出的"OK"提示,我就囧了……于是我執(zhí)行以下步驟:
下載最新的jQuery腳本替換掉項(xiàng)目中帶有的版本
檢查每行javascript代碼
檢查 IE安全設(shè)置,設(shè)置為最低
…………
均沒(méi)有見(jiàn)到效果,直到今天突然才發(fā)現(xiàn),該頁(yè)面調(diào)用jQuery 的引用行是這樣書(shū)寫(xiě)的
<script type="text/javascript" src="js/jquery.js" />
我改成
<script type="text/javascript" src="js/jquery.js" ></script>
“OK”終于彈出來(lái)了……
但問(wèn)題還沒(méi)有結(jié)束,項(xiàng)目開(kāi)發(fā)者是在母版頁(yè)中包含了jQuery, 源碼如下
代碼
復(fù)制代碼 代碼如下:
<asp:ScriptManager ID="ScriptManager1" runat="server" >
<Scripts>
<asp:ScriptReference Path="~/js/jquery.js" />
</Scripts>
</asp:ScriptManager>
查閱ASP.NET官方論壇可以看到答案http://forums.asp.net/t/1377657.aspx,我將Script控件屬性添加EnablePartialRendering="true" 和 EnableScriptGlobalization="false" 后,一切正常,至此問(wèn)題全部解決,項(xiàng)目成功部署。
總結(jié):感謝樓下花時(shí)間看完我這篇文章,但我查閱了W3C關(guān)于html中引用<script>腳本的規(guī)范http://www.w3.org/TR/REC-html40/interact/scripts.html#h-18.2.2.3,也未找到<script />這樣寫(xiě)法是不符合規(guī)范的定義,只看到了提倡盡可能不用閉合標(biāo)記">"而是用"<"比較好(如“ y < x”比"x > y"好)。
又見(jiàn)留言,再度感謝。但我想表達(dá)的意思是,這種寫(xiě)法僅在asp.net環(huán)境下會(huì)出現(xiàn)問(wèn)題,如果在php中這樣書(shū)寫(xiě)<script src='.....' type='text/javascript' />,在apache環(huán)境下可以正常運(yùn)行并得到結(jié)果。
相關(guān)文章
輕松實(shí)現(xiàn)js彈框顯示選項(xiàng)
這篇文章主要為大家詳細(xì)介紹了js輕松實(shí)現(xiàn)彈框顯示選項(xiàng)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09JS新標(biāo)簽頁(yè)打開(kāi)的方法大全(讓你的網(wǎng)站訪問(wèn)更加便捷)
在開(kāi)發(fā)Web應(yīng)用中我們常常需要在當(dāng)前頁(yè)面打開(kāi)一個(gè)鏈接,但又不希望離開(kāi)當(dāng)前頁(yè)面,這篇文章主要給大家介紹了關(guān)于JS新標(biāo)簽頁(yè)打開(kāi)的方法大全,通過(guò)這些方法可以讓你的網(wǎng)站訪問(wèn)更加便捷,需要的朋友可以參考下2023-10-10vue/js實(shí)現(xiàn)頁(yè)面自動(dòng)往上滑動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了vue/js實(shí)現(xiàn)頁(yè)面自動(dòng)往上滑動(dòng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04不使用ajax實(shí)現(xiàn)無(wú)刷新提交表單
這篇文章主要介紹了不使用ajax實(shí)現(xiàn)無(wú)刷新提交表單的方法,需要的朋友可以參考下2014-12-12javascript用DIV模擬彈出窗口_窗體滾動(dòng)跟隨
可滾動(dòng)跟隨彈出框效果代碼,非常實(shí)用的應(yīng)用于網(wǎng)絡(luò)廣告2008-09-09