我在IE中遇到麻烦问题。我正在尝试动态创建iframe并根据用户选择将其src属性分配给适当的文件。我已经创建了一个简单的html页面,其中包含内联javascript,可以重现问题。
<html>
<head>
<script type="text/javascript">
function createIFrame(){
var iframe = document.createElement('iframe');
document.body.appendChild(iframe);
iframe.id = "myframe";
}
function loadFile(fileName){
var frame = document.getElementById("myframe");
frame.src = fileName;
}
</script>
</head>
<body>
<input type="button" value="create iframe" onclick="createIFrame()" />
<input type="button" value="load ansi" onclick="loadFile('ansi.txt')" />
<input type="button" value="load unicode" onclick="loadFile('unic.txt')" />
<hr/>
<iframe id="workingFrame" src="unic.txt"></iframe>
</body>
</html>
ansi.txt - 以ANSI编码保存的文本文件,unic.txt是unicode文本文件。
按下创建按钮iframe添加到DOM。如果按下'load ansi'按钮文件内容被加载到iframe中没有任何问题,但'加载unicode'按钮会导致问题 - iframe保持为空。
但是如果最初定义的src属性就像'workingFrame'那样 - 正确加载了unicode文件。这个问题发生在IE 8中,IE 9建议下载文件而不是渲染文件。我需要在iframe中呈现文件内容。
答案 0 :(得分:0)
我在8和9中尝试了你的例子,它运作得很好。您是否尝试过自己对html页面进行示例,或者仅仅是您的实际代码?
PS - 很抱歉将此作为答案发布,我还没有发表评论
答案 1 :(得分:0)
您的服务器在此响应中发送了什么MIME类型? Content-Type HTTP标头指定了什么CHARSET?
如果您发送text / html而不是text / plain,我打赌这可以正常工作。