2013-04-22 5 views
1

Я в последний момент внес изменения в свой код и понял, что jQuery не работает в IE и Chrome, но в FF работает нормально. Мне удалось изменить некоторые из существующих jQuery на js, и он отлично работает во всех браузерах, однако ниже jQuery не работает в IE и Chrome.jQuery не работает в IE, Chrome, работает в FF

Я надеюсь, что мне не нужно менять этот код на чистый JS, так что, надеюсь, есть работа, любые идеи, что я делаю неправильно?

<!DOCTYPE html> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
    $('#address').change(function() { 
     $('#mycheckboxdiv').toggle(); 
    }); 
    $('#name').click(function() { 
     alert("well hello there."); 
    }); 

    $('#school').keyup(function(e) { 
     if (e.which == 9)          
      alert("great school"); 
    }); 
}); 
</script> 
</head> 

<body> 
<form name="myform" method="post" action="myform.php" id="myform"> 
<table> 
<tr> 
    <td><b>Name:</b></td> 
    <td><input name="name" id="name" value="" type="text" size="20" maxlength="20"/></td> 
</tr> 
<tr> 
<td valign="top"> 
<input name="address" value="NO" type="checkbox"> NO<br> 
<input name="address" id="address" value="YES" type="checkbox"> YES</td> 
</tr> 
<tr id="mycheckboxdiv" style="display:none"> 
<td colspan="2"></td> 
</tr> 
</table> 
</form> 
</body> 
</html> 
+0

Для того, чтобы решить любые проблемы, нажмите здесь: 1 - используйте if (e.which === 9) вместо "==" 2 - в верхней части используйте "language = text/javascript" вместо "javascript " только. Поместите ключевое слово «отладчик» в сценарий jquery и посмотрите, что происходит с –

+2

, вы используете безопасный сайт? Я знаю, что chrome автоматически блокирует скрипты при использовании незащищенных ссылок, но FF этого не делает. –

+0

В чем же проблема в IE или Chrome? Не могли бы вы описать желаемое поведение и что не работает? – Friederike

ответ

1

Большинство браузеров полагаться на type, не language, чтобы вызвать интерпретатор JavaScript. Поэтому, если вы поместите <script type="text/javascript"></script>, вам даже не нужно указывать language. Атрибут language устарел уже некоторое время.

См. Вопрос this.

Put это вместо того, что вы в настоящее время:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 

Кроме того, для HTTPS проблемы используйте следующее:

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 

Или вы можете указать HTTPS непосредственно:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
+0

спасибо, но все еще не решила проблему. В принципе, IE, Chrome отказывается от любого JQUERY. почему я не знаю. – NULL

+0

Да, да. и все еще ничего. его разочарование, я думаю, я буду менять свой код на старые добрые js. – NULL

+0

Вы использовали prototype.js или любую другую функцию JS? и если его использование $, то это может быть конфликт между этими двумя библиотеками javascript. если это так, то вы можете использовать jquery.noconflict() – rach

0

Я повторяю то, что раньше говорил Дж. Гыллетерт, это ваш bsite с использованием https ??

Попробуйте загрузить последний файл js & сохранить в местном формате & ссылку на него с локального адреса вашего сайта.

+0

Да, пожалуйста, это происходит на сервере https. Th ank you. – NULL

+0

Сохраните файл «jquery.min.js» локально и ссылку из локального адреса, и это сделает js действующим как безопасный контент для веб-сайта. –

+0

Благодарю вас, который также работал, когда я сохранил его локально. – NULL