2013-04-18 85 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