[英]jQuery is not functional on Mozilla Firefox
使用Mozilla Firefox時,我的ASP.NET MVC應用程序出現問題。 我正在使用JQuery,但此代碼無法正常工作。 在Google Chrome和IE 8中,一切都很好。 如何解決這個問題。 如有必要,我將發布我的JQuerycode的一部分
在“網站”母版頁中,我包含腳本,如下所示:
<script type="text/javascript" src="../../Scripts/jquery-1.3.2.js"></script>
<script src="../../Scripts/jquery-1.3.2.js" type="text/javascript"></script>
<script type="text/javascript" src="../../Scripts/ui.core.js"></script>
<script type="text/javascript" src="../../Scripts/ui.selectable.js"></script>
<script type="text/javascript" src="../../Scripts/ui/ui.accordion.js"></script>
<script type="text/javascript" src="../../Scripts/MicrosoftAjax.debug.js"></script>
<script type="text/javascript" src="../../Scripts/MicrosoftMvcAjax.debug.js"></script>
<script type="text/javascript" src="../../Scripts/jquery.dataTables.js"></script>
<script type="text/javascript" src="../../Scripts/ui/ui.datepicker.js"></script>
<script type="text/javascript" src="../../Scripts/jquery.bstablecrosshair.js"></script>
<script src="../../Scripts/jquery.jqGrid.min.js" type="text/javascript"></script>
<script src="../../Scripts/jqModal.js" type="text/javascript"></script>
<script src="../../Scripts/jqDnR.js" type="text/javascript"></script>
在Firefox上不起作用的代碼最重要的部分:
<script type="text/javascript">
$(document).ready(function() {
$('input:radio').click(function() {
var num = "";
var location = "";
var loc = $("input:checked").val();
var lenght = loc.lenght;
var tmp = loc.substring(0, 2);
if (tmp == "SA") {
num = loc.substring(2, lenght);
location = "SA";
}
if (tmp == "ST") {
num = loc.substring(2, lenght);
location = "STH";
}
if (tmp == "SH") {
num = loc.substring(2, lenght);
location = "SASTH";
}
if (tmp == "NE") {
num = loc.substring(2, lenght);
location = "NEW";
}
var article_number = $("input[id=" + num + "]").val();
//alert(article_number +" "+ num);
$.post("/ImportXML/DevAccEditTempTable", { location: location, article_number: article_number, loc: num }, function(data) {
if (data.error == "Error") {
alert("Error: quantity is too large! ");
window.location.href = "/" + data.redirect;
}
else {
window.location.href = "/" + data.redirect;
}
}, "json");
});
});
</script>
對於基本的Javascript / jQuery調試,請嘗試以下操作:
<script type="text/javascript">
alert("Javascript works!");
$(document).ready(function(){
alert("jQuery works!");
});
</script>
如果僅獲得第一個警報窗口,則意味着jQuery的引用方式有問題。 如果您沒有在Firefox中找到任何一個窗口(但在其他瀏覽器中都看到了),則需要確保在“選項”>“內容”中打開了Javascript,並且要確保沒有插件被阻止的JavaScript。
(已編輯,因為在原始帖子中添加了更多代碼段:)
在您發布的第二個代碼段中,“ loc.lenght”應為“ loc.length”。
$('input:radio').click(function() {
var num = "";
var location = "";
var loc = $("input:checked").val();
var lenght = loc.lenght;
var tmp = loc.substring(0, 2);
alert(loc.substring(2, lenght));
看起來這行var lenght = loc.lenght;
之所以引起問題,是因為loc.lenght
可能未返回您想要的值(因為lenght
不是屬性)。 我已向您的代碼添加了alert
,該alert
應彈出您在本節后面的if
語句中計算的字符串。 您應該運行此代碼,並在所有三個瀏覽器中使用alert
,以查看有何區別。
我不確定為什么這在某些瀏覽器中會起作用,但在Firefox中卻不能。 也許loc.lenght
在IE 8和Chrome中返回0,但在Firefox中返回null
,這將破壞整個計算。
檢查是否在Firefox中禁用了Javascript。 另外,檢查FF插件,例如adblocker,它們可能阻止了某些Google URL,如果讓Google托管JQuery庫,則可能會出現問題。
機會是你的問題是你拼寫錯誤的單詞Lenght
。
var lenght = loc.lenght;
<-應該是loc.length
jQuery在firefox上對我來說效果很好,也許如果您發布的內容給您帶來了麻煩,那么這里的社區可以為您指明正確的方向。
安裝提琴手,瀏覽器的行為有所不同,有些嚴格,有些寬松,您應該了解Chrome會在您不知情的情況下解決代碼中的問題,而firfox可能不會。
檢查Chrome調試器Ctrl-Shift-J
並安裝提琴手。
如果發布的腳本是您正在使用的腳本,則看起來您實際上並未包含jQuery。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.