JavaScript:XMLSerializer对象检测IE8&现代浏览器

时间:2012-07-28 23:39:00

标签: javascript serialization

我正在尝试进行对象检测,以防止IE8在没有new XMLSerializer()的情况下抛出错误但是我找不到跨浏览器方式来解决问题。我通常使用object!='undefined'但是我还没有找到一种跨浏览器的方式来实现它。

以下是我在Firefox 10和IE8中测试过的一些方法......

if (typeof new XMLSerializer!='undefined') {alert('unsupported, 1');}

if (typeof new XMLSerializer()!='undefined') {alert('unsupported, 2');}

if (new XMLSerializer!='undefined') {alert('unsupported, 3');}

if (XMLSerializer!='undefined') {alert('unsupported, 4');}

if (window.XMLSerializer!='undefined') {alert('unsupported, 5');}

if (typeof XMLSerializer !== 'undefined') {alert('unsupported, 6');}

那么我们如何在不支持IE8等不支持的浏览器中触发错误的情况下为XMLSerializer实现对象检测?

1 个答案:

答案 0 :(得分:1)

你应该测试它是否有它:

if (typeof window.XMLSerializer !== 'undefined') {
    alert('Has XMLSerializer');
} else {
    alert('No has XMLSerializer');
}

这是一个小提示,展示:http://jsfiddle.net/fGZbL/1/

或者我发布的原始小提琴也应该有用(这会测试window.XMLSerializer的真实性):http://jsfiddle.net/fGZbL/