我在从插件代码更新 Firefox 上的状态消息时遇到了问题。
正如文档所说,调用NPN_Status
仅在从主线程调用时才有效。我的要求是从 Firefox 进程中的任何线程更新状态。
任何帮助,将不胜感激!
您不能从任何线程更新它,因为这会违反某些线程安全规则。您必须将更新代理回主线程。
就像 sdwilsh 所说,您NPN_*
只能从主线程调用 -functions。NPN_PluginThreadAsyncCall
仅在 Gecko 1.9 中引入,并非所有当前浏览器都支持。
解决方法取决于平台:
performSelectorOnMainThread