使用不符合noconflict的外部JavaScript文件

Using external JavaScript file that is not compliant with noconflict

本文关键字:外部 JavaScript 文件 noconflict 不符合      更新时间:2023-09-26

我遇到一种情况,需要从供应商那里加载外部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分钟。