gpt4 book ai didi

javascript - 插入标准模式文档中的动态 iframe 默认为怪异模式

转载 作者:行者123 更新时间:2023-11-27 23:56:50 25 4
gpt4 key购买 nike

我有一个父文档,当前正在从 document.compatMode 返回 CSS1Compat

当我像这样使用 jQuery 添加空白 iframe 时:

$("body").append("<iframe id='test-iframe'></iframe>");

并检查新 iframe 的 compatMode,如下所示:

$("#test-iframe")[0].contentWindow.document.compatMode

它等于BackCompat

这会导致稍后出现区分大小写的问题以及其他一些样式问题。我无法改变案件,也无法控制它。新的iframe不应该是相同的compatMode吗?有办法强制执行吗?

最佳答案

这是因为浏览器正在加载一个基本的 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

关于javascript - 插入标准模式文档中的动态 iframe 默认为怪异模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32191047/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com