我遇到需要从供应商加载外部JavaScript文件的情况。该JavaScript文件需要jQuery并在脚本中使用美元符号。
我的网站在noconflict模式下使用jQuery,因此在包含js文件时,我收到$
不是函数的错误。
有没有办法可以包含这个脚本,以便它可以在noconflict模式下使用我的网站?
答案 0 :(得分:2)
如果您的服务器上安装了PHP,您可以创建某种代理,从原始源获取该外部文件,将其包装在IIFE周围并返回它,如下所示:
<?php
echo "(function($) {";
echo file_get_contents("http://link.to.external/script.js");
echo "}(jQuery));";
?>
它将$
设为jQuery
别名,但仅限于此功能,因此此脚本可以使用,但其他脚本不会受到影响。
当然,您可以使用除PHP之外的其他语言。
此外,如果您的网站流量很大,则应考虑缓存结果,例如15分钟。