我遇到了從插件代碼更新Firefox上的狀態消息的問題。如何從任何線程更新Firefox中的狀態消息?
正如文檔所說,調用NPN_Status
只有在從主線程調用時纔有效。我的要求是從Firefox進程中的任何線程更新狀態。
任何幫助,將不勝感激!
我遇到了從插件代碼更新Firefox上的狀態消息的問題。如何從任何線程更新Firefox中的狀態消息?
正如文檔所說,調用NPN_Status
只有在從主線程調用時纔有效。我的要求是從Firefox進程中的任何線程更新狀態。
任何幫助,將不勝感激!
你不能從任何線程更新它,因爲這會違反一些線程安全規則。您將不得不將您的更新代理回主線程。
就像sdwilsh說的,你只能從主線程調用NPN_*
函數。 NPN_PluginThreadAsyncCall
僅在Gecko 1.9中引入,並且在當前所有瀏覽器中都不支持。
解決方法依賴於平臺:
performSelectorOnMainThread
你能爲我提供任何示例代碼/更多詳細信息,該代理的事情是如何被實現? – atVelu 2009-06-25 04:48:55