单页应用程序 - 动态加载的<script>标记不会执行

时间:2018-06-14 21:11:54

标签: javascript xmlhttprequest single-page-application zepto

我有一个SPA,我转换为使用Zepto而不是jQuery。一切都快速而顺利,但有一个问题。

&#xA;&#xA;

加载到容器中的子页面包含引用包含子页面特定逻辑的JavaScript文件的标记。 jQuery会自动评估并执行这些新的脚本标记,但Zepto却没有。没有记录的控制台错误或任何内容。

&#xA;&#xA;
&#xA;&#xA;

以下是主页面布局:

&#xA;& #xA;
 <代码>&LT; HTML&GT;&#XA; ...&#XA; &LT;身体GT;&#XA;&#XA; ...#&XA;&#XA; &lt; div id =“singlePageContainer”&gt;&#xA;&#xA; ...&#XA; &lt;! - 使用$ .ajax动态加载,不执行 - &gt;&#xA; &lt; script src =“...”&gt;&lt; / script&gt;&#xA;&#xA; &LT; / DIV&GT;&#XA;&#XA; &lt;! - 包含在容器页面中,执行得很好 - &gt;&#xA; &lt; script src =“...”&gt;&lt; / script&gt;&#xA;&#xA; &lt; / body&gt;&#xA;&lt; / html&gt;&#xA;  
&#xA;&#xA;

JavaScript将子页面加载到主页面容器div中(使用XHR ):

&#xA;&#xA;
  $('#singlePageContainer')。load(url,function(response,status,xhr){&#xA; // ... &#xA;});&#xA;  
&#xA;&#xA;
&#xA;&#xA;

更令人费解的是,因为它适用于jQuery。也许在 $(...)。html(...)中有一些不同的行为。

&#xA;&#xA;

如果我有一个脚本子页面中的标签有内联代码而不是文件引用,它执行正常。

&#xA;

0 个答案:

没有答案