在Internet Explorer中使用innerHTML设置JavaScript iframe

时间:2011-05-28 09:32:14

标签: javascript internet-explorer iframe innerhtml

我正在尝试使用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样式...

1 个答案:

答案 0 :(得分:1)

Stack Overflow帖子 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);