我试图通过我的NPRuntime插件通过javascript调用一个函数 但是当我将一个整数值传递给一个函数时,chrome会将其检测为NPVariantType_Double,而firefox则与NPVariantType_Int32相同。 我们可以在不修改脚本的情况下避免这种情况,以确保firefox和chrome都将其检测为NPVariantType_Int32。
答案 0 :(得分:2)
简短回答:不,不是真的。他们会以他们决定给你的格式给你。我建议你把它转换为int32。
如果您真的担心它会如何进入并且需要格式保持完全相同,请将其作为字符串传递并使用某种形式的词法转换将其转换为你需要的数字格式。
请记住,javascript是动态类型的,因此从他们的角度来看,这无关紧要。这只是令人讨厌的事情之一: - / FireBreath只是通过不关心浏览器提供的内容并将其转换为函数所期望的数据类型来“解决”这个问题。
答案 1 :(得分:0)
Taxilian是对的。 Chrome和Opera(据我记得)主要返回NPVariantType_Double
,即使这表示元素的位置(以像素为单位)。您可以创建一个转换NPVariantType_Double
和{{1}的函数无论你想要什么。