我正在尝试进行对象检测,以防止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
实现对象检测?
答案 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/