【发布时间】:2011-12-12 13:08:05
【问题描述】:
在 Opera 中,当我序列化一个 xml 文档时,它会返回添加了 XML 声明的字符串。在 Firefox 和 Chrome 中不会发生这种情况,我希望 Opera 返回与 Firefox 和 Chrome 相同的结果。
http://jsfiddle.net/superbDeveloper/Qst5e/9/(以下 JavaScript 代码)
JavaScript 代码
//test xml serializer
var s = new XMLSerializer();
var d = document;
var str = s.serializeToString(d);
console.log("1) serializeToString ");
console.log(str);
Firefox 中的结果
1) serializeToString
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"><head> <meta content="text/html; charset=UTF-8" http-equiv="content-type" /> <title> - jsFiddle demo by superbDeveloper</title> <script src="/js/lib/mootools-core-1.4.2-full-nocompat.js" type="text/javascript"></script> <link href="/css/normalize.css" type="text/css" rel="stylesheet" /> <link href="/css/result-light.css" type="text/css" rel="stylesheet" /> <style type="text/css"> </style>.....
Opera 中的结果
1) serializeToString
<?xml version="1.0"?><html><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title> - jsFiddle demo</title>
<script type="text/javascript" src="/js/lib/mootools-core-1.4.2-full-nocompat.js"/>
<link rel="stylesheet" type="text/css" href="/css/normalize.css"/>
<link rel="stylesheet" type="text/css" href="/css/result-light.css"/>
<style type="text/css">
</style>...
注意 XML 声明 <?xml version="1.0"?> 已添加到 Opera 浏览器中。有没有办法阻止 Opera 添加 XML 声明?或者如何删除 XML 声明?我曾想过使用substring,但这并不是一个优雅的解决方案。
【问题讨论】:
-
使用子字符串方法jsfiddle.net/superbDeveloper/Qst5e/11 工作正常。不确定它是否是一个优雅的解决方案。
标签: javascript opera xmlserializer