使用javaScript/jQuery将doctype添加到Iframe
我想在加载iframe后将Doctype添加到iframe中。 我尝试了以下脚本,但没有任何运气:使用javaScript/jQuery将doctype添加到Iframe,javascript,jquery,html,iframe,Javascript,Jquery,Html,Iframe,我想在加载iframe后将Doctype添加到iframe中。 我尝试了以下脚本,但没有任何运气: $(document).ready(function(){ $('.ms-dlgFrame').ready(function(){ var iframe = $('.ms-dlgFrame'); var newHTML = "<!DOCTYPE html><html>"+iframe.contents().find('html').html()+"
$(document).ready(function(){
$('.ms-dlgFrame').ready(function(){
var iframe = $('.ms-dlgFrame');
var newHTML = "<!DOCTYPE html><html>"+iframe.contents().find('html').html()+"</html>";
iframe.contents().find('html').html(newHTML);
//iframe.contents().prepend('<!DOCTYPE html>');
});
});
$(文档).ready(函数(){
$('.ms dlgFrame').ready(函数(){
变量iframe=$('.ms dlgFrame');
var newHTML=“”+iframe.contents().find('html').html()+”;
iframe.contents().find('html').html(newHTML);
//iframe.contents()前缀(“”);
});
});
这似乎很简单,但我犯了一个错误。据我所知,出于安全原因,您无法将iframe的内容作为目标。我找到了解决方案
$(document).ready(function(){
$('.ms-dlgFrame').ready(function(){
var iframe = $('.ms-dlgFrame');
var newDoctype = document.implementation.createDocumentType(
'html',
'',
''
);
iframe[0].contentDocument.insertBefore(newDoctype,iframe[0].contentDocument.childNodes[0]);
});
});
我认为,如果动态更改doctype,它不会改变文档的呈现方式。在更改其HTML之前,可能应该在iframe的src中设置doctype?只有在不控制目标时才是这样。