2011-08-03 25 views
0

我想通過我的NPRuntime插件通過JavaScript調用函數 但當我傳遞一個整數值的函數,鉻檢測到NPVariantType_Double而火狐採取NPVariantType_Int32相同。 如果不修改腳本以確保firefox和chrome將它檢測爲NPVariantType_Int32,我們可以避免這種情況嗎?使用npruntime插件將鉻檢測整數作爲NPVariantType_Double?

回答

2

簡答:不,不是。他們會按照他們決定給你的格式給你。我建議你把它投到int32。

如果你真的擔心怎麼回事進來,需要的格式保持完全一樣,把它作爲一個字符串,並使用某種形式的詞彙投將其轉換爲你需要的數字格式。

請記住,JavaScript是動態類型的,所以從他們的角度來看應該沒有關係。這只是這些令人討厭的事情之一: -/FireBreath「簡單地通過不關心瀏覽器提供的內容並將其轉換爲函數所期望的數據類型」來解決「這個問題。

0

Taxilian是對的。 Chrome和Opera(據我記得)主要返回NPVariantType_Double,即使這表示元素的位置(以像素爲單位)。您可以創建一個函數,將NPVariantType_DoubleNPVariantType_Int32轉換爲任何您想要的值。