gpt4 book ai didi

javascript - 验证外部脚本是否已加载

转载 作者:IT王子 更新时间:2023-10-29 02:54:02 25 4
gpt4 key购买 nike

我正在创建一个 jquery 插件,我想验证是否加载了一个外部脚本。这是针对内部 Web 应用程序的,我可以使脚本名称/位置保持一致 (mysscript.js)。这也是一个可以在页面上多次调用的ajax 插件。

如果我可以验证脚本未加载,我将使用以下方法加载它:

jQuery.getScript()

我不想在页面上多次加载相同的脚本,因此如何验证脚本是否已加载?由于脚本的缓存,这是我不需要担心的事情吗?

更新:我可能无法控制谁在我们的组织中使用这个插件,并且可能无法强制脚本不在页面上有或没有特定 ID,但脚本名称将始终位于相同的位置姓名。我希望我可以使用脚本的名称来验证它是否已实际加载。

最佳答案

如果脚本在全局空间中创建了任何变量或函数,您可以检查它们是否存在:

外部 JS(在全局范围内)--

var myCustomFlag = true;

并检查它是否已经运行:

if (typeof window.myCustomFlag == 'undefined') {
//the flag was not found, so the code has not run
$.getScript('<external JS>');
}

更新

您可以检查 <script> 是否存在通过选择所有 <script> 标记有问题的元素并检查它们的 src属性:

//get the number of `<script>` elements that have the correct `src` attribute
var len = $('script').filter(function () {
return ($(this).attr('src') == '<external JS>');
}).length;

//if there are no scripts that match, the load it
if (len === 0) {
$.getScript('<external JS>');
}

或者你可以只烤这个.filter()选择器中的功能:

var len = $('script[src="<external JS>"]').length;

关于javascript - 验证外部脚本是否已加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9521298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com