Ajax IE6:下载html而不执行包含的javascript,格式为ISO-8859-1字符集

Ajax IE6:下载html而不执行包含的javascript,格式为ISO-8859-1字符集,ajax,iframe,internet-explorer-6,character-encoding,Ajax,Iframe,Internet Explorer 6,Character Encoding,下面是一段代码(使用jquery),我用来下载一个html文件,从中提取一个表及其内容 var url = $('#url').val(); // url to access if ($.browser.msie && $.browser.version.substr(0,1)<7) { var frame = $('<iframe/>').css('display', 'none').attr('src', url ); frame.appendTo('

下面是一段代码(使用jquery),我用来下载一个html文件,从中提取一个表及其内容

var url = $('#url').val(); // url to access

if ($.browser.msie && $.browser.version.substr(0,1)<7) {
 var frame = $('<iframe/>').css('display', 'none').attr('src', url );
 frame.appendTo('body')
        .load(function() {
            var data = frame.contents()[0].firstChild.innerHTML;
            frame.remove; // kill the frame
            extractReport(data); // extract the data table
        }); // load
}
else {
    $.ajaxSetup({
        'beforeSend' : function(xhr) {
            xhr.overrideMimeType('text/html; charset=ISO-8859-1');
            }
        }); // ajaxSetup
     $.ajax(
        {
        async:false,
        url:url, 
        error : function(XMLHttpRequest, textStatus, errorThrown) {
            alert(textStatus );
        }, 
        success:
                function(data, textStatus, XMLHttpRequest) {
                    extractReport(data); 
                    }
        }); // ajax
} //else
var url=$('#url').val();//要访问的url
if($.browser.msie&&$.browser.version.substr(0,1)
html可以通过activeX以纯文本形式下载吗?我只知道ActiveXObject(“Msxml2.XMLHTTP.6.0”),但它失败了

不支持。事实上,在迄今为止的任何版本中,IE都不支持XMLHttpRequest Level 2的
OverrideMetype
方法,无论是使用本机JScript(IE7+)还是旧式ActiveX实现

overrideMimeType
实际上是让XMLHttpRequest接收与标记为不同字符集的文本内容的唯一方法(UTF-8,如果未指定
内容类型
头字符集,则为
-set字符集无效,因为只有HTML解析器才会读取该字符集,而
XMLHttpRequest
不是HTML解析器)。无法使用
XMLHttpRequest
检索原始二进制文件

[iframe方法]而不执行包含的javascript

嗯,有点像。有一个IE6+特有的、通常相当可疑的属性,它会改变子文档的区域。除了其他副作用外,这通常会导致关闭JavaScript,但实际发生的情况会受到用户的IE受限站点区域设置的影响,所以它不是真正可靠的

var frame = $('<iframe security="restricted"/>').css('display', 'none').attr('src', url);

很好!!就是这么做的。非常感谢。请克制使用。如果我们谈论的是一个设置非常一致的企业内部网应用程序,它可以工作,但它并不真正适合开放互联网。
if ('XMLHttpRequest' in window && 'overrideMimeType' in new XMLHttpRequest()) {
    // xmlhttp branch
} else if {
    // nasty iframe branch
}