我有这段代码:
....
jQuery(document).ready(function() {
function showResponse(responseText, statusText, xhr, $form) {
var myxml = responseText;
var serializer = new XMLSerializer();
var xmltostring = serializer.serializeToString(myxml);
当IE9处于兼容模式时,它在除IE9之外的所有浏览器中都能正常工作。出于原因,我们不会进入客户端需要在兼容模式下运行IE9,所以我试图找到解决方案。
报告的错误是:
'XMLSerializer' is undefined
有人知道解决这个问题的方法吗?是否有另一种方法将DOM文档/对象转换为XMLSerializer之类的文本?
感谢。
答案 0 :(得分:0)
由于兼容模式可能会模拟IE8和向下行为,因此无法正常工作。 XMLSerializer
适用于IE9及更高版本(标准模式)。将DOM对象转换为字符串的另一种方法是使用outerHTML
。
示例DOM:
var div = document.createElement('div');
div.innerHTML = '<p>testing 123</p>';
获取字符串表示:
div.outerHTML
//=> "<div><p>testing 123</p></div>"
答案 1 :(得分:0)
结束这样的事情似乎完成了工作:
var xmltostring='';
if (typeof window.XMLSerializer !== 'undefined') {
var serializer = new XMLSerializer();
xmltostring = serializer.serializeToString(myxml);
} else {
if(window.ActiveXObject){
xmltostring = myxml.xml;
}
}