将标头脚本传递给AJAX加载的内容

时间:2015-01-06 16:36:32

标签: javascript php jquery ajax jquery-mobile

当我搜索信息时,jquerymobile(JQM)中的ajax加载不包含头javascripts。参考主题如下:

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>

在index-ajax.php

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

**我试图手动添加到index-ajax.html。但是,它会触发错误(加载js的2倍)到不在ajax中的其他内容。

1 个答案:

答案 0 :(得分:1)

根据jQuery Mobile FAQ: Why aren't my scripts and styles loading?

  

在通过AJAX请求时忽略页面头部的原因是重新执行相同JavaScript的可能性非常高(在站点的每个页面中引用相同的脚本是很常见的)。由于尝试解决该问题的复杂性,我们将执行特定于页面的脚本的任务留给开发人员,并假设只有每个浏览会话执行一次头脚本。

您需要以某种方式将脚本绑定到pageinit事件,或者您可以将其包含在data-role="page"中,但每次加载页面时都会执行此操作。

我肯定会建议您对代码进行重新分析,并根据pageinit事件进行调整。