2013-04-18 40 views
2

我通过通过JavaScript创建GET XMLHttpRequest来获取SVG DOM对象(<svg> ... </svg>)。我需要一些属性添加到接收的对象,像这样:无法通过Javascript向通过XMLHttpRequest接收的DOM对象添加属性

svgObject.prop = 5 

其中prop应该由JavaScript作为对象的一个​​新特性来创建。

出于某种原因,这是不可能在IE9和我得到的错误:

Object doesn't support this property or method.

然而,这部作品在Firefox和IE10。有没有人遇到过这种行为?有人知道如何在IE9中绕过它吗?

+1

您是否尝试过创建属性,然后填充它?像'var svgObject = {prop:''};'然后'svgObject.prop = 5' – ddilsaver

+0

我不确定我明白你的意思。我的svgObject将由一个XMLHttRequest返回,所以我不会自己创建它。 –

+0

嗯,试试'svgObject [“prop”] = 5',IE可能会看到'.prop'作为关键字而失败,因为它的错误背景 – ddilsaver

回答

2

在Internet Explorer 10之前,由XMLHttpRequest返回的对象为not a native object,因此该对象不允许展开属性。微软fixed this in Internet Explorer 10XMLHttpRequest返回一个本地对象,使他们的实现更加兼容其他浏览器。

+0

那么他的工作会是什么呢?我会使用jQuery或类似的库来完成请求。这样,它至少可以跨浏览器兼容,使用'$ .ajax();'或'$ .getJSON();'? – ddilsaver