2010-04-07 32 views
1

這個代碼在我的插件來就好了工作不工作:訪問與jQuery的嵌入對象在Firefox 3.6中


jQuery('#embedded_obj', context).get(0).getVersion(); 

和HTML ...


<object id="embedded_obj" type="application/x-versionchecker-1.0.0.1"></object> 

基本上是試圖獲取屬性來自嵌入式對象。但它看起來像get(0)返回的是一個html對象,而不是實際的嵌入對象。

例如,如果我這樣做:


var launcher = jQuery('#embedded_obj', context).get(0); 

for(prop in launcher){ 
    alert(prop + ': ' + launcher[prop]); 
} 

......它提醒之類的東西 「getElementByNode」, 「scrollWidth」, 「clientLeft」, 「clientTop」 等

同樣在此之前的工作Firefox 3.6。有沒有其他人看過這個或有任何想法/建議?

謝謝!

+0

?你最近更新過嗎? – Metropolis 2010-04-07 18:57:39

回答

1

你確定它之前工作過嗎? jQuery的(..)。得到(..)總是返回一個DOM對象(在這種情況下<object>元素),所以你確定你沒有使用類似語法

var launcher = new VersionChecker(jQuery("#embedded_obj").get(0)); 
alert(launcher.getVersion()); 

所以有一個構造函數關心HTML DOM元素和實際嵌入對象之間的鏈接?

如果是這樣,你用小test.html文件檢查左右,並用兩個瀏覽器打開此驗證的行爲有什麼區別?

編輯:請不要介意,真的是有一些奇怪的事情確實發生的事情與物體標籤後,我GOOGLE了一下,並無意中發現http://forum.jquery.com/topic/jquery-object-get-0-is-not-a-dom-element-in-ff-but-is-in-safari-is-this-a-bug您正在使用什麼版本的jQuery

+0

您好,感謝您的想法 - 我曾嘗試使用的document.getElementById(...)一個test.html的,而不是jQuery的,仍然有一個問題,所以我敢肯定這件事情與自定義插件,需要改變。 (我猜FF使用插件在3.6中工作的方式改變了一些。)無論如何,謝謝! – taber 2010-04-09 14:32:22