0

NPRuntime プラグインを介して JavaScript を介して関数を呼び出そうとしていますが、整数値を関数に渡すと、Chrome はそれを NPVariantType_Double として検出しますが、firefox は NPVariantType_Int32 と同じ値を取ります。スクリプトを変更せずにこれを回避して、firefox と chrome の両方がそれを NPVariantType_Int32 として検出するようにすることはできますか?

4

2 に答える 2

2

短い答え: いいえ、そうではありません。彼らはあなたにそれを与えると決めたフォーマットであなたにそれを与えます。int32 にキャストすることをお勧めします。

どのように入力されるかが本当に心配で、形式をまったく同じにする必要がある場合は、文字列として渡し、何らかの形式の字句キャストを使用して、必要な数値形式に変換します。

JavaScript は動的に型付けされるため、彼らの観点からは問題にならないことに注意してください。これは厄介なことの 1 つにすぎません :-/ FireBreathは、ブラウザが提供するものを気にせず、関数が期待するデータ型に変換するだけで、この問題を「解決」します。

于 2011-08-03T21:39:42.670 に答える
0

タキシリアンは正しい。Chrome と Opera (私が思い出す限り) は主NPVariantType_Doubleに を返しますが、これが要素の位置 (ピクセル単位) を表している場合でも、必要なものに変換する関数を作成できNPVariantType_DoubleますNPVariantType_Int32

于 2011-08-04T17:19:30.093 に答える