gpt4 book ai didi

javascript - 在远程 javascript 加载后执行本地 Javascript?

转载 作者:行者123 更新时间:2023-11-30 10:48:02 24 4
gpt4 key购买 nike

我有一个页面,我在其中使用 jquery/ajax 从另一个组件中提取一大块 HTML/JS 并将其注入(inject)到页面中。该 HTML 引用了其他 JS 文件,我需要在运行 javascript 之前加载这些引用的 JS 文件。

被注入(inject)的 HTML/JS 看起来像这样:

<script type="text/javascript" src="http://myserver/js/ABunchOfStuff.js"></script>
<div>
blah blah blah
</div>
<script type="text/javascript">
//"sourceList" is defined in the ABunchOfStuff.js above, but it's not available by the time this executes.
$("input#autocomplete").autocomplete({
source: sourceList,
minLength: 2
});
</script>

通常我会 Hook 到一个窗口加载事件或 $(document).ready() 或其他什么,但在这种情况下,窗口和文档已经完全加载,现在我们在事实上。

一种可能性是放入一个递归的 setTimeout 调用,它会一直触发,直到引用的 javascript 可用,但这非常难看。

那么有没有任何干净的方法来捕获引用的 javascript 已加载的事件并在那时执行代码?

谢谢

最佳答案

您还可以使用 getScript并在成功回调中执行 autoComplete:

jQuery.getScript( 'http://myserver/js/ABunchOfStuff.js', function(data, textStatus) {
$("input#autocomplete").autocomplete({
source: sourceList,
minLength: 2
});
} );

关于javascript - 在远程 javascript 加载后执行本地 Javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7177663/

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