2014-12-03 5 views
0

Используя это очень простой пример, который я могу проиллюстрировать проблему, у меня с Chrome и Firefox выполняет функцию JQuery:Chrome и Firefox JQuery вопросы

<!DOCTYPE html> 
<html> 
<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
</head> 

<body> 
<h2>This is a heading</h2> 
<p>This is a paragraph.</p> 
<p id="test">This is another paragraph.</p> 
<button>Click me</button> 

<script> 
$(document).ready(function(){ 
    $("button").click(function(){ 
    $("#test").hide(); 
    }); 
}); 
</script> 

</body> 

</html> 

Когда я бегу это на моем локальном сервере (MAMP), он отлично работает, используя как Chrome, так и Firefox. Но когда я загружаю его на свой живой сайт (размещенный в GoDaddy), сценарий jQuery не будет выполняться ни с одним браузером. Интересно, что Safari отлично работает как на сервере MAMP, так и на реальном сайте. Кто-нибудь знает, почему Chrome и Firefox нет?

Код, указанный выше, скопирован и вставлен с сайта w3schools.com, который я заимствовал, чтобы узнать, могу ли я воспроизвести проблему, которую я имел с моим собственным кодом. Я был очень удивлен, обнаружив, что могу воспроизвести проблему с помощью этого очень простого примера! В stackoverflow много сообщений о проблемах совместимости браузеров, но совместимость браузеров кажется маловероятной в этом случае, поскольку оба браузера работают, когда код запускается с сервера MAMP.

Я также связался с GoDaddy, чтобы узнать, могут ли быть настройки среды, которые необходимо изменить. Я получил ответ, что это проблема с моим кодом. Мне трудно поверить, учитывая, что я могу воспроизвести проблему с помощью этого очень простого кода с w3schools.com. И тогда есть тот факт, что Safari отлично работает в обеих средах, что возвращает меня к размышлениям о браузерах.

Я благодарен за любое понимание, которое у вас может быть.

+0

Проверьте консоль JavaScript в Chrome с помощью инструментов разработчика. Это такой тривиальный тест, что я шокирован, он не работает. Это может быть кеширование (на их стороне сервера), может быть, дополнительная разметка, которую они добавили, что вызывает столкновение и т. Д. –

+1

Могут ли они каким-либо образом изменить вашу страницу? К сожалению, мы не можем воспроизвести ошибку, так как * код действителен *. – Mooseman

+0

В коде нет ошибок. Предоставьте эту ссылку для поддержки GoDaddy. http://jsfiddle.net/osg9crs4/1/ – Jinandra

ответ

1

Проблема оказалась в обращении к библиотеке jQuery. В моем примере источником является http :, но на моем сайте есть SSL-сертификат. Изменение адреса в jQuery CDN на https: решение проблемы.

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

По-прежнему любопытно, что у Safari не было никаких проблем с этим, и другие браузеры сделали это. Мне также любопытно, что у меня был сайт с jQuery CDN, связанный с http: в течение шести месяцев, с большим количеством страниц с jQuery на нем и до этого не было никаких проблем. Несмотря на это, это небольшое изменение сегодня стало хитом. Если у вас есть аналогичный опыт работы с jQuery в некоторых средах, а не с другими, добавьте проверку наличия сертификата SSL в контрольный список.

+0

Современным браузерам часто не нравится то, что называется «смешанным контентом» (т. е. HTTP и HTTPS на одной странице). –

Смежные вопросы