使用不符合noconflict的外部JavaScript文件
Using external JavaScript file that is not compliant with noconflict
我遇到一种情况,需要从供应商那里加载外部JavaScript文件。该JavaScript文件需要jQuery,并在脚本中使用美元符号。
然而,我的网站在noconflict模式下使用jQuery,所以当包含js文件时,我会得到一个错误,即$
不是函数。
有没有一种方法可以让我包含这个脚本,让它在无冲突模式下与我的网站一起工作?
如果你的服务器上安装了PHP,你可以创建某种代理,从原始源获取外部文件,将其封装在IIFE中并返回,如下所示:
<?php
echo "(function($) {";
echo file_get_contents("http://link.to.external/script.js");
echo "}(jQuery));";
?>
它将使$
别名为jQuery
,但仅在此函数内部,因此此脚本可以工作,但其他脚本不会受到影响。
当然,您可以使用PHP以外的其他语言。
此外,如果你的网站上有巨大的流量,你应该考虑缓存结果,例如15分钟。
相关文章:
- 使用html中的外部javascript进行数据验证
- 将变量传递给外部Javascript
- 关于引入外部javascript文件的问题&css通过https
- 有没有办法在tinymceiframe中加载一个外部javascript文件
- 如何在MVC5中ajax调用的部分视图中引用外部javascript
- HTML外部javascript加载另一个javascript
- 如何在定义js文件后为外部javascript文件设置变量
- ResolveUrl没有'我似乎不适合当链接到具有动态虚拟目录的外部javascript文件时
- 如何在小部件中添加外部javascript库和样式表
- 外部JavaScript验证不起作用
- Chrome扩展无法通过清单加载外部javascript
- 动态虚拟目录和外部 JavaScript 链接
- Web 地址虚拟目录会断开外部 JavaScript 链接,因此找不到文件
- 如何从窗体调用外部javascript方法
- 如何使用外部Javascript库(如jQuery)重命名Google闭包样式表
- 如何使用Java在WebDriver中调用外部JavaScript
- 从Haml调用外部javascript中的ruby数组
- 在选择更改时更改从外部javascript生成的flash播放器
- 缓存javascript失败,因为使用了外部javascript
- 在AngularJS中手动加载和卸载外部javascript