Twitter iframe和其他JavaScript获取前者内容的执行顺序

execution order for twitter iframe and other javascript getting the contents of the former

本文关键字:执行 顺序 iframe 其他 JavaScript 获取 Twitter      更新时间:2023-09-26

我有内容。它们都是不同的(从Wordpress上的小部件生成),它们都需要以各种方式分开和连接。基本上在window.load上,javascript循环遍历每个小部件,取出内容,然后按特定顺序将它们放入干净的容器中,然后很好地淡入。这非常有效。

推特来了。Twitter有一个加载iframe的脚本。Twitter脚本位于一个小部件中。我正在做同样的事情,获取小部件的内容并将其转储到新容器中。这导致我在 iframe 加载之前将 Twitter 脚本放入新容器中。在这个旅程的某个地方,iframe永远不会加载。我不想以某种方式操作 iframe 中的内容,我只想让它加载到我选择的容器中。

我的问题是:这个过程是错的吗?或者,我可以先加载 iframe ,然后抓取 iframe 的内容并将其转储到另一个容器中吗?似乎在加载页面之前 iframe 不会加载,但我的 javascript 正在中断加载过程并停止。

不确定我是否正确解释了这一点,也没有简化形式的示例代码。没有这些东西,这个问题可以回答吗?提前感谢您的帮助。

编辑:取出window.onload解决了这个问题。这意味着,window.load可能会中断iframe的加载。但是,window.load 是必需的。还有其他想法吗?

所以,我的问题的答案:

或者,我可以先加载 iframe ,然后抓取 iframe 的内容并将其转储到另一个容器中吗?

不。目前,没有办法做到这一点。查看参考 Twitter 脚本立即触发,window.onload 被理所当然地中断。

Twitter 嵌入脚本分为两部分:元素和内联脚本。我的解决方法是将脚本保留在javascript中,并将元素保留在小部件中(以便客户端可以关闭,嵌入多个Twitter帐户等)。然后,在 DOM 元素完成洗牌并放入各自的容器后,我将脚本插入到 Twitter 的小部件中。

iframe负载,和塔达!不再有半加载的推特iframe。