小编典典

是否可以使用AJAX加载新的Javascript文件?

ajax

我正在建立一个新的由AJAX驱动的网站,其中包含不同的部分。每个部分都需要一组新的Javascript函数才能运行。我宁愿不要一开始就加载每个脚本,因为可能会有很多脚本。

有没有一种方法可以使用AJAX加载新脚本并删除旧脚本(以确保类似的变量名或函数签名不存在兼容性问题)。

谢谢

编辑 -jQuery很好,它不必是老式的Javascript


阅读 249

收藏
2020-07-26

共1个答案

小编典典

三件事:

1)是,您可以加载新脚本。您甚至不需要XHR意义上的AJAX-只需在页面中动态添加script标记即可。jQuery为此提供了$
.getScript(),或者您可以简单地创建一个script元素并将其附加到文档的开头。如果您用google搜索,就有大量的例子。

2)关于删除旧文件(以及冲突等)。假设您可以控制这些函数名称,则只需对其命名空间正确即可:

window.myapp = {};
window.myapp.mysection = {};
window.myapp.myothersection = {};
window.myapp.mysection.myfunction = function(){}

然后,您不必担心冲突。

3)注意这一点。无论如何,按需加载所有这些脚本的开销可能不仅只是压缩和加载整个文件。

2020-07-26