插入文档的动态iframe为标准模式,默认为怪僻模式
Dynamic iframe inserted into document that is standards mode defaults to quirks mode
我有一个父文档,当前从document.compatMode
返回CSS1Compat
。
当我添加一个空白的iframe jQuery像这样:
$("body").append("<iframe id='test-iframe'></iframe>");
并检查新iframe的compatMode,如下所示:
$("#test-iframe")[0].contentWindow.document.compatMode
它等于BackCompat
这会导致以后的大小写敏感问题和其他一些样式问题。我不能改变箱子,也不能控制它。新的iframe不应该是相同的compmode吗?有办法强迫它吗?
这是因为浏览器正在加载一个基本的html文档(注意没有doctype声明):
<html>
<head></head>
<body></body>
</html>
由于没有doctype声明Chrome将使用BackCompat模式
如果你想改变它的模式,要么将src url设置为使用doctype声明的html页面,要么写入iframe并将html设置为具有doctype声明的html。
var myContent = '<!DOCTYPE html><html><head></head><body></body></html>';
$("body").append("<iframe id='test-iframe'></iframe>");
var frame = $("#test-iframe")[0];
frame.contentWindow.document.open('text/htmlreplace');
frame.contentWindow.document.write(myContent);
frame.contentWindow.document.close();
console.log( frame.contentWindow.document.compatMode );
JSFiddle
相关文章:
- 无法在提交模式弹出窗口时禁用 .btn 默认值
- 详细信息视图 ASP.Net 取消客户端的默认编辑模式
- 模式对话框默认不关闭 x 按钮
- 默认情况下,Jquery UI 模式(弹出框)控件大小和隐藏
- 使用模块模式?/ 默认起点
- JavaScript 模块模式:默认值
- 具有默认值的选项的 JavaScript 设计模式
- Intranet兼容性模式替代为IE-7默认模式
- 在jqgrid's编辑模式下,是否可以默认将光标从特定列开始?
- Angular JS默认添加新行为可编辑模式
- 默认情况下,在方向的旅行模式下路由不激活
- 改变Bootstrap'的默认模式类
- Summernote:启用air模式以及默认工具栏
- jQueryUI模式添加函数默认值
- 插入文档的动态iframe为标准模式,默认为怪僻模式
- 为什么我的模式不能在mongoose数组中添加默认值?
- 在iPhone浏览器上传照片时切换到默认视频模式
- 默认情况下,可编辑表单需要启用编辑模式
- 如何将参数传递到模块模式以覆盖JavaScript中的默认值[private properties]
- 自动设置Mongoose子模式的默认值