Internet Explorer 中带有 innerHTML 的 JavaScript iframe 设置
Posted
技术标签:
【中文标题】Internet Explorer 中带有 innerHTML 的 JavaScript iframe 设置【英文标题】:JavaScript iframe setting with innerHTML in Internet Explorer 【发布时间】:2011-09-03 21:14:22 【问题描述】:我正在尝试使用 javascript 设置 iframe 的 html 代码,在 Firefox 和 Chrome 上运行良好,但只显示链接,没有 Internet Explorer 9 的样式。
JavaScript 代码:
window.frames["iview"].document.body.innerHTML = txt;
txt 变量获取以下 HTML 代码:
<!DOCTYPE HTML>
<html>
<head>
<style type="text/css">
a:link
color: #0000C0;
background-color: #FFFFFF;
text-decoration: none;
target-new: none;
a:hover
color: #0000FF;
background-color: #808000;
text-decoration: underline;
target-new: none;
</style>
</head>
<body>
<a href="http://www.domain.com">link....</a>
</body>
</html>
Internet Explorer 显示链接,但不显示 CSS 样式...
【问题讨论】:
你把上面所有的代码都放到了iframe的body部分?? 是的,有没有办法设置头部也一样??? 【参考方案1】:堆栈溢出帖子 How to apply CSS to iFrame? 有帮助吗?
具体来说:
嵌入在 iframe 中的页面的样式必须通过将其包含在子页面中来设置:
<link type="text/css" rel="Stylesheet" href="Style/simple.css" />
或者可以使用 JavaScript 从父页面加载:
var cssLink = document.createElement("link")
cssLink.href = "style.css";
cssLink .rel = "stylesheet";
cssLink .type = "text/css";
frames['frame1'].document.body.appendChild(cssLink);
【讨论】:
以上是关于Internet Explorer 中带有 innerHTML 的 JavaScript iframe 设置的主要内容,如果未能解决你的问题,请参考以下文章
在同一台计算机上运行 Internet Explorer 6、Internet Explorer 7 和 Internet Explorer 8
对于某些情况,如 Internet Explorer 特定的 CSS 或 Internet Explorer 特定的 JavaScript 代码,如何仅针对 Internet Explorer 10?