我的插件使用NPN_Invoke调用JavaScript函数,并将字符串参数传递给它。如果其中的所有字符都是ASCII,则一切正常。但是如果字符串中存在非ASCII字符,则JavaScript会收到一个空字符串。
我验证了传递给NPN_Invoke的NPVariant变量(或者更确切地说是一个数组项)仍然包含一个有效的字符串,所以看起来好像在浏览器端发生了错误。
这真的是一个Firefox错误(我在Windows上使用FF 3.6和4.0测试过),或者我做错了什么?任何解决方法?
答案 0 :(得分:2)
这不是一个错误; NPAPI只接受UTF8字符串。如果字符串无效UTF8,则浏览器将不接受它。您不能使用NPString传递二进制数据。