Я работаю над обновлением своего веб-сайта, который теперь использует движок AJAX. Мой движок хорошо работает, по какой-то причине некоторые страницы не запускают javascript, позвольте мне объяснить: при изменении привязки я использую $ .get для восстановления данных. Страницы имеют такую структуру:
title h1 script1.js,script2.js,etc.js style1.css,style2.css,etc.css <!--there's the page's content-->
Кажется, перезагрузка страницы решает проблему, но я не понимаю, что другое. В предыдущем коде двигатель запускается успешно, перезагружается или нет:
$.getScript("script1.js"); $.getScript("script2.js"); $.getScript("etc.js");
Кроме того, сгенерированный php скрипт содержит текущее состояние пользователя в форме объекта:
$(function(){ user = new Object(); user.id = user.logged = <?php echo $user->getId();?>; user.nick = "<?php echo $user->getNick();?>"; user.mail = "<?php echo $user->getMail();?>"; user.logout = function(){ }; });
Запрос $ .getScript выполняется успешно, но пользовательский объект не изменяется. Однако сценарий еще не изменен. И это тоже не работает с консоли.
Обновление в настоящее время находится на сайте v2.wawolf.com , вы найдете все, что вам нужно. Горячая ссылка: Код двигателя
Я просто решил свою проблему: когда весь документ загружен, $ (function () {}) больше не будет работать , поэтому вызов сценария, который использует $ (function () {}), не будет запущен. Я удалил его из всех моих вторичных скриптов, и теперь все работает отлично!
это может быть просто проблема загрузки.
попробуйте инкапсулировать загрузку JS в функцию onload
$(window).load(function(){ //get script loads here }
или
$(document).ready(function() { //get script loads here }
Иногда я использую один внутри другого для динамического сценария JS, который должен быть загружен последним.