IE中的document.write问题

时间:2011-08-30 08:56:07

标签: javascript html

我正在编写一个演示页面,显示演示,人们可以获得演示的源代码 我使用这种方法来做到这一点:将html页面的源代码存储在JavaScript变量中,然后使用document.write显示页面。
但我遇到了IE的问题,这是我的代码:

<!DOCTYPE html public "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<script>
    var html_code = '<!doctype html>\n\
<html>\n\
    <head>\n\
        <meta http-equiv="Content-Type" content="text/html; charset=uft-8">\n\
        <title>test</title>\n\
        <script type="text/javascript" src="http://wong2js.googlecode.com/svn/trunk/test.js"></s'+'cript>\n\
    </head>\n\
    \n\
    <body>\n\
    <div id="preview">\n\
        I am a div\n\
    </div>\n\
    \n\
    <script>\n\
        alert(tmp);\n\
    </s' + 'cript>\n\
</body>\n\
</html>';

    function getHTMLCode(){
        return html_code;
    }

    document.write(html_code);
</script>
</body>
</html>  

在我链接到页面的JavaScript文件中(http://wong2js.googlecode.com/svn/trunk/test.js),代码是:

alert("Hello");
tmp = "IEEEE";  

正如你所看到的,我宣布了一个全局变量tmp,但当我尝试提醒它时,IE(6,7,8)表示tmp未定义,而Chrome可以获得它。
在这里小提琴:http://jsfiddle.net/wong2/R6uP8/

0 个答案:

没有答案