关于如何以这种方式'ajaxify'网站的任何提示?

时间:2013-09-20 23:36:12

标签: javascript jquery ajax jquery-plugins html5-history

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

现在,客户要求我们将持久音频播放器放在页面顶部。我们有两种选择:使用框架(太糟糕!)或使用ajax调用来更新内容,使用History API来更新网址/浏览器历史记录。

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

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

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

有关如何以最佳方式进行操作的任何提示? 谢谢!

1 个答案:

答案 0 :(得分:0)

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

例如:

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

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

  //apply whatever JQuery plugins you need at this point.
});