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