我正在尝试编写一个将一些信息显示为 HTML 页面的 Eclipse 插件。为此,我想使用 SWT Browser
小部件。问题是,当我通过 setText
设置浏览器的内容时,nth-child
选择器不起作用,但是当我通过 setUrl("file ://...
,它们工作正常。为什么渲染不同,我如何使用 setText
实现与 setUrl
相同的渲染?
我正在使用 SWT.NONE
创建浏览器
,因为我不想强制用户安装 Safari 或 Firefox。
这是可重现问题的 HTML:
<!doctype html><html><head>
<style type="text/css">
div:nth-child(2n) { background-color: #f00; }
</style>
</head><body>
<div>1</div>
<div>2</div>
<div>3</div>
</body></html>
最佳答案
广泛使用浏览器的 setText()
方法后,我没有看到任何像您所描述的那样的行为。
这是否可能是本地 Intranet 怪癖模式/兼容模式问题? IE 会根据内容的来源默认其呈现引擎不同——默认情况下,它在呈现 Intranet 内容和 Internet 内容时表现不同(并且本地文件系统上的内容被视为 Intranet 内容。)无论如何,这就是我的记忆,我的全部请务必记住,除非您明确设置兼容性 header ,否则存在相当多的巫术。
添加以下元标记会改变行为吗?
<meta http-equiv="X-UA-Compatible" content="IE=9" />
此外,您是否在使用 setText()
添加的 HTML 中定义了适当的 DOCTYPE
?
关于css - 使用 setText 和 setUrl 在 SWT 浏览器中呈现不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10664510/