我正在建立一个新的由AJAX驱动的网站,其中包含不同的部分。每个部分都需要一组新的Javascript函数才能运行。我宁愿不要一开始就加载每个脚本,因为可能会有很多脚本。
有没有一种方法可以使用AJAX加载新脚本并删除旧脚本(以确保类似的变量名或函数签名不存在兼容性问题)。
谢谢
编辑 -jQuery很好,它不必是老式的Javascript
三件事:
1)是,您可以加载新脚本。您甚至不需要XHR意义上的AJAX-只需在页面中动态添加script标记即可。jQuery为此提供了$ .getScript(),或者您可以简单地创建一个script元素并将其附加到文档的开头。如果您用google搜索,就有大量的例子。
2)关于删除旧文件(以及冲突等)。假设您可以控制这些函数名称,则只需对其命名空间正确即可:
window.myapp = {}; window.myapp.mysection = {}; window.myapp.myothersection = {}; window.myapp.mysection.myfunction = function(){}
然后,您不必担心冲突。
3)注意这一点。无论如何,按需加载所有这些脚本的开销可能不仅只是压缩和加载整个文件。