我有一个插件,它可以流式传输一些数据并呈现它。但是在更新到Firefox20之后,插件报告说它找不到该文件。在调查了这个问题后,我发现NPP_StreamAsFile在Firefox19和20之间返回了不同的路径。
Windows 7 OS NPP_StreamAsFile -提供流文件的本地路径。Firefox 19: NPP_StreamAsFile return "C:\Documents Data\Mozilla\Firefox\Profiles\jpgiohcq.default\Cache\1\78\87C58d01“Settings\Administrator\Local Settings\NPP_StreamAsFile Data\Mozilla\Firefox\Profiles\jpgiohcq.default\Cache\1\78\87C58d01”Our plug-in检索此路径并处理数据
Firefox20: NPP_StreamAsFile返回"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\plugtmp-2\plugin-svrel.zhp“调用NPP_DestroyStream后文件会被移除。在这种情况下,我们的插件无法找到该文件。
然而,当我使用Firefox20运行Process Monitor时,它显示文件在被销毁之前被复制到缓存文件夹。
我已经在mozilla论坛上发布了我的问题。他们说他们改变了缓存中的实现,数据下载后由我们负责管理。
我的问题是,在NPP_DestroyStream销毁数据之前,我们的插件是否应该复制一份数据?如果是,数据是否应保存在%APPDATA%应用程序文件夹中?我只想确保我遵循了正确的gecko插件开发指南。在其他地方,我没有成功地找到关于这个过程的任何细节。
发布于 2013-06-18 20:17:07
我的问题是,在NPP_DestroyStream销毁数据之前,我们的插件是否应该复制一份数据?
如果你想让它留下来,那么是的,你必须复制一份(参见bug 879503)。
一个流式传输数据的插件听起来像是你想复制到一个临时目录(例如GetTempPath())。
https://stackoverflow.com/questions/17153798
复制相似问题