我们正在使用<iframe srcdoc="..."></iframe>
元素来加载一些HTML内联。但是,我们遇到了这种意外行为:
添加JavaScript节点时(即通过jQuery('<script src="1.js"></script><script src="2.js"></script>').appendTo(jQuery('body')
动态地),这2个节点是异步加载的,因为这2个节点可以在1之前运行,从而导致依赖性错误。
这是完全出乎意料的行为,如果将嵌入式HTML移至单独的文件并通过src
加载,则不会发生。
Chrome和FF之间的行为是一致的。
问题1 :这是预期的吗?这是由任何规格引起的吗?我们假设,这可能是由于srcdoc
只是document.write()
的光荣包装而引起的,该包装通常表现出这种行为(异步加载JavaScript),但是我们可以找不到任何规格。
问题2 :如何解决此问题,以便可以使用srcdoc
并使JS节点同步加载?
与附加(奖励)相关的问题3:srcdoc
框架中的文档似乎没有defaultView
...在各个浏览器中也保持一致。这到底是为什么呢?