【发布时间】:2019-10-12 08:53:33
【问题描述】:
这实际上是三个不同问题的合并,已经在堆栈溢出时得到了很好的回答!
1 - 如何Dynamic Load a JavaScript file from inside a Js Script:
2 - 如何Dynamic Load Jquery
3 - SetTimeout inside a JS Class using this
基本上,我正在构建一个类,它将在我的客户网站中注入一些页面。
为此,客户端只需在页面上添加我的脚本 src。
<script src="<my_pub_http_address>/MyClass.js">
一旦脚本被调用,我将需要 jquery 来继续执行! 但是,我不知道调用脚本的网站是否已经加载了 jquery。
所以,我需要检查是否加载了 jquery,如果没有,我将不得不加载它,追加到头部,只有当 jquery 加载并工作时,我才会继续执行脚本。
PS:这是一种遗留答案!我事先已经有了解决方案! 因此,任何改进都会受到赞赏!
【问题讨论】:
-
你到底为什么需要上课?
-
我猜它涉及到一个关于如何知道 jQuery 何时完成的 Promise。但这很棘手,因为您的注入实际上只知道 DOM 注入何时完成,而不是从该 DOM 注入加载的脚本。您可以有一个 setTimeout 循环并检查 jQuery 对象是否存在。但不确定如何在 jQuery 对象存在之前使您的类不可用。我想您可以检查“isReady”上的每个方法,在 jQuery 加载之前返回 false。
-
另外,“只有这样它才会执行”是什么意思?这个脚本是否只在最初加载时运行一次,而不是从其他任何地方调用?如果是这种情况,只需循环直到加载,然后继续。但是想办法做到这一点,实际上并不会停止整个页面的加载,因为那样会很粗鲁。
-
promises.. async / await.. 这个问题不是问题
-
@Anthony :你被纠正了...... setTimeout 是我需要的......也是前置而不是附加!!!
标签: javascript jquery html