<iframe>
中的以下html在IE7中呈现,但在Firefox或Chrome中不呈现?
var content = "<!DOCTYPE html PUBLIC \"-//WAPFORUM//DTD XHTML Mobile 1.2//EN\"\"http://www.openmobilealliance.org/tech/DTD/xhtml-mobile12.dtd\">
<html>
<body style=\"background-color:#0C0C0C; color:#FFFFFF\">
Please Enter the credentials
<form name=\"dynamicform\">
<ul class=\"edgetoedge\" style=\"background-color:#0C0C0C;\"><li><div id=\"errorDiv\" style=\"color:red\"> </div></li> <li> <input id=\"Phone Number:_minLength\" type=\"hidden\" value=\"16\" /> </li>
<li> </ul> </form> </body> </html>"
<script>
.....
var dynamicFormIframe = document.getElementById('dynamicFormIframe');
dynamicFormIframe = (dynamicFormIframe.contentWindow) ? dynamicFormIframe.contentWindow : (dynamicFormIframe.contentDocument.document) ? dynamicFormIframe.contentDocument.document : dynamicFormIframe.contentDocument;
dynamicFormIframe.document.open();
dynamicFormIframe.document.write(content);
....</sript>
<body><iframe id="dynamicFormIframe" src=""></frame></body >
答案 0 :(得分:0)
dynamicFormIframe = (dynamicFormIframe.contentWindow) ? dynamicFormIframe.contentWindow : (dynamicFormIframe.contentDocument.document) ? dynamicFormIframe.contentDocument.document : dynamicFormIframe.contentDocument;
contentDocument.document
是无稽之谈;永远不会采取该条款。不支持非标准contentWindow
媒体资源的Chrome将重新使用contentDocument
,这是与contentWindow
不同的对象。
你似乎只想要文档,而不是窗口,所以首先选择标准的contentDocument
,然后只回到通过不受支持的IE窗口:
var iframe= document.getElementById('dynamicFormIframe');
var idoc= 'contentDocument' in iframe? iframe.contentDocument : iframe.contentWindow.document;
idoc.open();
idoc.write(content);
idoc.close();
(你的例子也有许多明显的拼写错误,如错配标签,JS字符串拆分线和格式错误的doctype,是复制粘贴错误吗?)