我有一个脚本“selfexec.js”,它做了一些事情:
!function(){ A = {init : init}}()
我基本上将此脚本用作可以从其他站点加载的插件。
所以,从站点B,我加载这个函数,然后想要调用方法A.init但是A总是在未加入的情况下出现,因为它甚至在加载匿名函数之前就已经执行了。
我试图将它附加到窗口但仍然没有运气
任何人都有更好的方法吗?任何帮助将不胜感激
答案 0 :(得分:0)
似乎问题是您在第三方脚本初始化之前尝试使用A变量。所以这里的顺序很重要:之前加载第三方脚本并在之后开始使用它。此外,我个人喜欢将呼叫调用到队列中的方法(类似的方法甚至用于谷歌分析)。在这里阅读更多
https://coderwall.com/p/2wmqhw/load-3rd-party-js-asynchronously-initialize-queue-replace-queue
因此,您需要定义客户端如何从您的站点加载代码的方式,并且在加载和初始化第三方代码后,所有方法都将100%执行。