Javascript 在.HTA中,获取带有大写标记和不带引号的属性的页面html

Javascript 在.HTA中,获取带有大写标记和不带引号的属性的页面html,javascript,activex,hta,Javascript,Activex,Hta,我正在用JavaScript在.HTA文件中开发我的小应用程序。当我尝试获取当前页面的所有html时,我得到的是大写的所有标记,属性没有双引号 简单的例子: <!DOCTYPE html> <html> <head> <meta http-equiv="x-ua-compatible" content="ie=9.0" /> <meta charset="utf-8"> <title>Test</title> &

我正在用JavaScript在.HTA文件中开发我的小应用程序。当我尝试获取当前页面的所有html时,我得到的是大写的所有标记,属性没有双引号

简单的例子:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="x-ua-compatible" content="ie=9.0" />
<meta charset="utf-8">
<title>Test</title>
</head>
<body>
<div class="content">Some text</div>
<script>
var html = document.querySelector('html').innerHTML;
alert(html);

var writeStream = new ActiveXObject('ADODB.Stream');
writeStream.Type = 2;
writeStream.Open();
writeStream.Charset = 'utf-8';
writeStream.WriteText(html);
writeStream.SaveToFile('index.html', 2);
writeStream.Close();
</script>
</body>
</html>

但是我需要所有小写的标记和带有双引号的属性,就像HTML中通常使用的那样。

传统的标记,您正在Win7和IE8上运行此功能。?是的,您可以更新到IE9,除非您不想编写自己的HTML解析器,否则使用IE8无法进行任何操作。但是,即使没有引用的属性值,标记也可以工作。MS渲染引擎返回大写标记。。如果IE9+不再这样做,那么您需要处理磁盘上的HTML是用小写还是大写写的?您可以使用Scripting.FileSystemObject在
window.location
读取文件。
<HEAD><TITLE>Test</TITLE>
<META content=ie=9.0 http-equiv=x-ua-compatible>
<META charset=utf-8></HEAD>
<BODY>
<DIV class=content>Some text</DIV>
<SCRIPT>
var html = document.querySelector('html').innerHTML;
alert(html);

var writeStream = new ActiveXObject('ADODB.Stream');
writeStream.Type = 2;
writeStream.Open();
writeStream.Charset = 'utf-8';
writeStream.WriteText(html);
writeStream.SaveToFile('index.html', 2);
writeStream.Close();
</SCRIPT>
</BODY>