我使用NPAPI开发 firfox plugin 在自己机器环境上 js 可以调用成功,但其他机器的firfox 方法调用都没有反应。
现象是:
about:plugins 里可以看到 插件。
在 js 里 getElementById 也能获取到 plugin
但是js 调用NPAPI方法及后续语句都没有走
firfox 版本 是一致的。
解决办法:
1. 原因很可能是缺少类库;
2. 使用 depends 查看 plugin 的DLL 检查是否缺少依赖;
3. 发现缺少 msvcr90d.dll,这是一个MFC的类库;
4. 我没有使用到MFC 并不需要加载;
5. 在visual studio 中 项目 -> 属性 -> 配置属性 -> MFC的使用 -> 使用标准Windows 库,选择 使用MFC静态库;
6. 编译,编译不通过没关系,再把配置改回去,改为 使用标准 windows 库;