我目前正在处理一个表单,除了表单的所有正常字段外,还有上传图片的文件输入,onchange将图片提交给iframe,然后将上传的图片加载到带有要修改的字段的表单中对于他们(如名称和地理定位).由于我无法嵌套表单,file_input也包含在iframe中,所以最后我在iframe中使用了iframe.如此示意,我有这样的事情:
<form>
<!-- LOTS OF FIELDS!! -->
<iframe src="file_input_url">
<!-- iframe which loads a page of a form with a file input-->
</iframe>
</form>
Run Code Online (Sandbox Code Playgroud)
和iframe中加载的html类似(忽略html,head和body标签)
<form target="upload_iframe">
<input type="file" onchange="this.form.submit()">
</form>
<iframe name="upload_iframe"></iframe>
Run Code Online (Sandbox Code Playgroud)
这很好用,除了加载第一个iframe需要几秒钟,因此文件输入不会加载到页面的其余部分,并且在视觉上并不理想.我可以解决这个问题,如果可以指定iframe内容而无需加载另一个页面(在第一个iframe中由'file_input_url'指定).
所以,我的问题是,有没有办法在同一个文档中指定iframe内容,或者只能用src属性来表示,所以需要加载另一个页面?
我正在尝试帮助开发一个库,为此我正在尝试使用页面加载.
在这个过程中,我想让库完全兼容defer和async的使用.
我想要的很简单:
我怎么知道DOMContentLoaded在文件执行时被触发了?
为什么这么难?
在IE中,document.readyState在DOMContentLoaded之前显示交互.
我不会以任何方式使用浏览器检测,这违反了我和其他参与者的政策.
什么是正确的选择?
编辑:
好像我还不够清楚.我没有兴趣知道是否已经发生加载事件!我已经知道如何解决这个问题!我想知道如何用DOMContentLoaded解决!!!