关于mozilla嵌入插件的总结

来源:百度文库 编辑:神马文学网 时间:2024/04/29 14:29:38
firefox的plugin有两种版本,一种是安装版一种是便携版,安装版的插件可以识别一切插件wmprealplayerqtjavaflash,而便携版(PortableFX,Torpark等)只能识别出wmprealplayerqtflash,而不能识别java
firefox中插件嵌入的运行机制是:当用户启动firefox时,它首先会去判断网页中是否嵌入了插件,如果网页中嵌入了插件,就会到C:\DocumentsandSettings\%user%\ApplicationData\Mozilla\Firefox\pluginreg.dat文件里跟据网页中embed所对应的type值找到相应的插件信息(%user%是你的windows用户名),把插件嵌入到网页中,如果没有嵌入插件,则不会去访问pluginreg.dat文件.
pluginreg.dat记录了所有的插件信息,这个文件的来源是每次启动firefox时,如有嵌入了插件,firefox就会到注册表里HKEY_CURRENT_USER->software->mozillaplugins,HKEY_CURRENT_USER->software->mozilla->mozillafirefox1.5.0.7->extensions,HKEY_LOCAL_MACHINE->SOFTWARE->mozilla->mozillafirefox1.5.0.7->extensions,HKEY_LOCAL_MACHINE->SOFTWARE->mozillaplugins里面去搜索所有已注册的插件,然后形成pluginreg.dat文件,如果有新安装的插件,pluginreg.dat文件会被更新.
我们现在自己做的插件,只要把DLL文件和XPT文件分别复制到plugins和component这两个文件里就可以使用,因为在注册表里HKEY_LOCAL_MACHINE->SOFTWARE->mozilla->mozillafirefox1.5.0.7->extensions分别记录了plugin和component这两个信息,他们的默认路径分别是C:\ProgramFiles\MozillaFirefox\plugins和C:\ProgramFiles\MozillaFirefox\components,所以每次搜索插件信息时,它也会到这两个路径下去搜索插件.
“mozilla插件”启用与不启用的总结
源码部分跟踪调试分析结果如下:
相关文件:ooo_SRC680_m120_src\svx\source\dialog\optinet2.cxx和ooo_SRC680_m120_src\svx\source\dialog\treeopt.cxx
分析结果:
分析源码后发现,选择与不选择OpenOffice的"Mozilla插件"主要是跟ooo_SRC680_m120_src\svx\source\dialog\optinet2.cxx文件中的MozPluginTabPage::FillItemSet()方法有关,该方法的源码如下:
BOOLMozPluginTabPage::FillItemSet(SfxItemSet&)
{
BOOLhasInstall=isInstalled();
BOOLhasChecked=aWBasicCodeCB.IsChecked();
if(hasInstall&&(!hasChecked)){
//trytouninstall
uninstallPlugin();
}
elseif((!hasInstall)&&hasChecked){
//trytoinstall
installPlugin();
}
else{
//donothing
}
returnTRUE;
}
“mozilla插件”选项它的主要功能是在搜索插件时,是否要到C:\ProgramFiles\OpenOffice.org1.9.120\program下面搜索相应的插件
以上方法完成的功能分为以下两种情况:
1.如果没有选择OpenOffice里面的"Mozilla插件"选项,则会在注册表HKEY_LOCAL_MACHINE->SOFTWARE->mozillaplugins中删除@sun.com/npsopluginmi;version=1.0
他的路径是C:\ProgramFiles\OpenOffice.org1.9.120\program,这样在搜索插件的时候就不会到这个路径下去搜索
2如果选择OpenOffice里面的"Mozilla插件"选项则会在注册表中HKEY_LOCAL_MACHINE->SOFTWARE->mozillaplugins下面形成@sun.com/npsopluginmi;version=1.0所对应的路径是C:\ProgramFiles\OpenOffice.org1.9.120\program,这样搜索插件时就会到这个目录下搜索插件形成pluginreg.dat文件
所以我们做的插件也可以复制到C:\ProgramFiles\OpenOffice.org1.9.120\program里面,这时要把“mozilla选项”选上,它才会到这个路径下搜索,但是还有一种特殊的情况就是如果把插件文件分别都考到了C:\ProgramFiles\OpenOffice.org1.9.120\program和C:\ProgramFiles\MozillaFirefox\plugins,C:\ProgramFiles\MozillaFirefox\components下面,同时“mozilla选项”已选上,这时pluginreg.dat文件里就会有两个你所复制的插件信息,但是不影响插件的使用。