Большая проблема с хромом, добавленными элементами dom и поведением задней части - PullRequest
0 голосов
/ 18 ноября 2011

Я борюсь с собой, очевидно, без решения проблемы.

Я пишу корзину jQuery для покупателя (см. Демонстрацию здесь: http://thisisnot2.fornacestudio.com/prodotto).

Скрипт корзины работает с большим количеством элементов dom. Проблема в том, что после публикации заказа на странице формы, если вы нажмете кнопку «Назад» в браузере в Chrome, скрипт перестанет работать (например, категории не отображают свое содержание после нажатия).

Кто-нибудь знает, что может вызвать это?

Спасибо!

1 Ответ

1 голос
/ 18 ноября 2011

Хорошо, если вы не знали, что ошибка исходит из строки 351 в suchi-cart.js

jQuery(this).find(".category-content").modal( ... );

В форме object has no method 'modal' я не понял, почему именно с тех пор, как вижу скрипт, включенный на страницу, при первом попадании на страницу с жестким обновлением, а также при переходе назад и в обратном направлении.


Редактировать : После более подробного изучения сценария я заметил, что вы используете lazyload вверху страницы, чтобы включить jQuery 1.6.2 через google https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js

Затем в тег head вы также загружаете локальную копию jQuery 1.6.1 через <script type='text/javascript' src='http://thisisnot2.fornacestudio.com/wp-includes/js/jquery/jquery.js?ver=1.6.1'></script>

Наконец, в самом низу страницы вы включаете свой простой модальный скрипт через <script type="text/javascript" src="http://thisisnot2.fornacestudio.com/wp-content/themes/notatemplate/cart/jquery.simplemodal.1.4.1.min.js"></script>

Моя теория заключается в жестком обновлении страницы, сначала загружаются два скрипта jQuery, а затем идет загрузка скрипта simplemodel, который, конечно, расширяет его метод .model(), а не на объект jQuery.

Но когда вы покидаете страницу и возвращаетесь назад скрипты, загруженные с помощью <script>, jQuery 1.6.1 и плагин simplemodel загружаются мгновенно, но включение в LazyLoad jQuery 1.6.2 через Google не запускается через кеш, поскольку и, следовательно, загружается после того, как первые два сценария перезаписывают объект jQuery до версии 1.6.2 и удаляют загруженный в объект простой модальный сценарий.

Так что вам нужно удалить отложенную загрузку jQuery со своей страницы.

...