Проблема загрузки Jquery / Script? - PullRequest
2 голосов
/ 27 января 2011

Доброе утро, ребята,

У меня на сайте WordPress есть несколько «гаджетов» на основе javascript (заголовок, peeling-effect @ в верхнем правом углу, вкладки acordeon в содержимом и т. Д., Большинство из них загружаются из раздела [head]) и все они работают как шарм, когда я выбираю постоянные ссылки в режиме по умолчанию ({http://www.url.com/?p=123}). Сайт все равно работает отлично, когда я изменяю эту структуру на пользовательскую и открываю любой пост (скажем, /%postname%.html), но не когда я пытаюсь просмотреть свои архивы, или любую из моих категорий, или сообщения какого-либо автора ... это похоже на то, что "глубина" URL разрушает все эти гаджеты.

Например, в режиме по умолчанию URL-адрес страницы архивов за декабрь 2010 года будет выглядеть следующим образом: {http://2.nadabueno.com/?m=201012} и все работает нормально. Однако в пользовательском режиме этот URL будет: {http://2.nadabueno.com/2010/12} и гаджеты, основанные на j-запросах, перестают работать (не говоря уже о том, что загрузка страницы занимает вечность).

Это похоже на то, что наличие постоянных ссылок в настраиваемом режиме не позволяет этим гаджетам работать, если у вас есть второй или более завершающий слеш во всем URL-адресе (рассматриваемый как «первый слеш», тот, который следует сразу после . com ): {http://2.nadabueno.com/2010/12} (Это то, что я имел в виду под «глубиной» ... и, конечно, если вы пойдете «глубже», как в категориях или подкатегориях (что добавит больше слешей): {http://2.nadabueno.com/category/musica/}, это тоже не сработает).

Чтобы вам было лучше видно:

http://img442.imageshack.us/img442/614/defaultpermalinks.jpg

{* * тысяча двадцать-один

В этом последнем примере это похоже на загрузку сценариев в бесконечном цикле, безуспешно пытающихся найти правильный путь к файлам .js и .css, чего не происходит, если вы установили постоянные ссылки для отображения Идентификатор контента (режим по умолчанию).

Извините, если я объяснил это неправильно (если я просто дал мне знать). Любая помощь будет принята с благодарностью. Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 27 января 2011

Используйте wp_enqueue_script в файле functions.php вашей темы с абсолютным (локальным) путем к скриптам, и все должно быть хорошо

0 голосов
/ 27 января 2011

Похоже, многие плагины эффектов закодированы на сайте с относительными URL, начинающимися с "js /".Это означает, что на верхнем уровне развертывания на сервере есть каталог «js», и вы совершенно правы: страницы, содержащие строки URL, которые помещают их на более низкие уровни каталогов, не будут работать.

Вот пример из источника страницы:

<link href="curt.css" rel="stylesheet" type="text/css" />
<script src="js/jquery-easing-1.3.pack.js" type="text/javascript"></script>
<script src="js/curt.js" type="text/javascript"></script>

Единственное, что я могу предложить, это исправить шаблоны (или что-то еще) так, чтобы все эти сценарии импортировались из абсолютных URL-адресов.Похоже, что пути вида "http://2.nadabueno.com/js/whatever.js" будут работать. Обратите внимание, что соответствующие CSS-файлы также извлекаются из относительных URL-адресов и требуют такой же обработки.

Возможно, вы также захотите объединить их- способ слишком много отдельных импортов на этом сайте.

...