1

我们建立了一个包含不同页面的网站,其中一些页面具有其他页面没有的功能。例如:画廊页面使用 jQuery Colorbox 打开照片。因此,有些页面加载了一些 jQuery 插件,而其他一些页面则不加载(“关于我们”页面不需要 Colorbox 插件)。

现在,客户要求我们在页面顶部放置一个持久的音频播放器。我们有两种选择:使用框架(太糟糕了!)或使用 ajax 调用来更新内容和使用历史 API 来更新 url/浏览器历史。

好的,我们将点击事件附加到链接。该事件使用ajax请求新页面,然后页面内容被替换。问题是:js 文件/jQuery 插件?当请求页面的 js 文件被加载时,$(document).ready(); 事件已经被触发。

此外,某些页面可能包含非外部 javascript,例如

<script type="text/javascript">
...some code here...
</script>

关于如何以最佳方式做到这一点的任何提示?谢谢!

4

1 回答 1

1

外部 JS 文件应该在父文件中加载一次,以便在 ajax 成功回调触发时满足所有依赖项。

前任:

$.get('/someUrl',function(newHtml){

  //process the newly fetched html
  $("#someParent").html(newHtml);

  //apply whatever JQuery plugins you need at this point.
});
于 2013-09-20T23:59:29.330 回答