动态创建iframe在IE下的两个问题
- - IT技术博客大学习标签: iframe. 表单提交到动态创建的iframe. 以下代码,一般用于在当前页 无刷新提交表单,其原理是把表单的target设为页面上某个iframe的id,使该iframe成为提交的目标,避免新开窗口或跳转. 但这段代码在 IE 6、7下无效. 以 innerHTML方式插入iframe,例如:.
标签: iframe
以下代码,一般用于在当前页 无刷新提交表单,其原理是把表单的target设为页面上某个iframe的id,使该iframe成为提交的目标,避免新开窗口或跳转。但这段代码在 IE 6、7下无效。
<form action="http://www.baidu.com/" method="post" target="testframe"> <input type="submit" value="Submit" /> </form> <script> var iframe = document.createElement('iframe'); iframe.id = 'testframe'; iframe.name = 'testframe'; document.body.insertBefore(iframe, document.body.firstChild); </script>
以 innerHTML方式插入iframe,例如:
<script> var div = document.createElement('div'); div.innerHTML = '<iframe id="testframe" name="testframe" />'; document.body.insertBefore(div, document.body.firstChild); </script>
以下代码在页面中创建一个iframe,并给iframe绑定 onload事件回调,但此回调在 IE 6、7、8下均无效。
<script> var iframe = document.createElement('iframe'); iframe.id = 'testframe'; iframe.name = 'testframe'; iframe.src = 'http://www.baidu.com/'; iframe.onload = function() { alert('onload'); }; document.body.insertBefore(iframe, document.body.firstChild); </script>
用 attachEvent接口绑定事件回调,例如:
<script> var iframe = document.createElement('iframe'); iframe.id = 'testframe'; iframe.name = 'testframe'; iframe.src = 'http://www.baidu.com/'; var fn = function() { alert('onload'); }; if (iframe.attachEvent) { iframe.attachEvent('onload', fn); } else { iframe.onload = fn; } document.body.insertBefore(iframe, document.body.firstChild); </script>
您可能还对下面的文章感兴趣: