2012-11-10 18 views
2

NP API插件中的函數創建NPObject並返回javascript。然後將帶有返回NPObject的javascript變量用作插件的其他某個函數的參數。例如如何從NPObject JS包裝類中獲取NPObject

VAR OBJ = plugin.GetObject()

plugin.UseObject(OBJ)

但在第二函數(UseObject)參數的值不是原始NPObject但NPObject JS包裝類。 有沒有辦法從NPObject JS包裝類的實例中獲取原始NPObject?

回答

4

簡答:你不能。

更多地參與回答:一些瀏覽器會給你發起對象,但大多數這些天不會,也沒有辦法取消引用過去的不透明NPObject接口獲取到底層對象。

備用解決方案:而不是試圖這樣做,添加一個唯一的ID到您的NPObject和全局映射到指針。然後,當你得到一個你認爲可能是對象的NPObject時,調用一個方法(或獲取一個屬性)來獲得唯一的ID,然後你可以查找指針。

這是我發現在所有瀏覽器中一致工作的唯一方法。

相關問題