2015-01-06 4 views
2

Как я искал информацию, загрузка ajax в jquerymobile (JQM) не содержит заголовков javascripts. Справочные темы являются следующие:Пропустить заголовок сценария для загруженного содержимого AJAX

jQuery mobile tap event triggered for twice

http://demos.jquerymobile.com/1.1.1/docs/pages/page-scripting.html

Я хотел бы знать, как Ajax содержание может включать в себя сценарии заголовка.

Мои примеры скриптов (не реальный сценарий) является

В index.php

<header> 
<script type="text/javascript" src="script-test.js"></script> 
</header> 

<div id="id<?php echo $product['product_id'] ?>"> 
    Content<?php echo $product['product_id'] ?> 
</div> 

<script type="text/javascript"><!-- 
ajaxload content scripts 
//--></script> 

В индексном-ajax.php

<div id="id<?php echo $product['product_id'] ?>"> 
Content<?php echo $product['product_id'] ?> 
</div> 

** Я попытался вручную добавить index-ajax.html. Тем не менее, это вызовет ошибку (нагрузка 2 раза js) на другое содержимое, которое не находится внутри ajax.

+1

Неверные открывающие теги 'php'. Это должно быть ' Nikos

+0

@Nikos Спасибо и изысканный! –

+1

вы не можете назвать свои файлы (index.html, index-ajax.html) и иметь возможность запускать PHP-код внутри них. они должны быть переименованы в (index.php, index-ajax.php), если вы смешиваете HTML с PHP, имена файлов должны иметь расширение (.php), чтобы веб-сервер забирал на фактографической странице код PHP внутри него. – Tasos

ответ

1

Согласно jQuery Mobile FAQ: Why aren't my scripts and styles loading?

Причина, по которой глава страницы игнорируется при запросе с помощью AJAX является то, что потенциал повторного выполнения тот же JavaScript очень высок (это общие для ссылки на одни и те же скрипты каждой странице сайта). Из-за сложности попытки обойти эту проблему мы оставляем задачу выполнения скриптов для страницы разработчику и предполагаем, что главные скрипты должны выполняться только один раз в сеансе просмотра.

Вы либо должны иметь сценарий привязанную каким-то образом к pageinit событию или вы могли бы включать в себя, что в data-role="page", но это будет выполняться каждый раз, когда страница загружена.

Я бы определенно посоветую вам перефакторировать ваш код и сделать это на основе события pageinit.