- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
编辑:请参阅帖子末尾以获取更多信息。
我正在尝试加载通过 Firebreath 框架 (1.7.0) 创建的插件。我在 Windows 8 桌面模式下使用 Internet Explorer 10。我使用 Firebreath 附带的内置测试 FBTtestPlugin 重现了这一点。失败是无声的,因为对象元素已创建,但无法具有插件指定的任何属性。如何调试这个? Microsoft Internet Explorer 兼容性工具报告该插件无法加载。 (FBTtestPlugin 加载了三个插件,因此出现了三个错误。)
我有其他(非 FB)插件在相同的设置上工作(例如这里的示例: http://msdn.microsoft.com/en-us/library/dd565667(v=vs.85).aspx 工作正常,就像本网站 http://ie.microsoft.com/testdrive/browser/activexfiltering/Default.html 中的所有示例一样)。
我尝试了多种安全设置的组合,但这是迄今为止我拥有的最轻松的设置:
注意:我不打算保留这些设置。我只想让插件正常工作,然后向后重新启用安全设置。
更新我部分地解决了这个问题,现在可以运行 FB 测试 FBTestPlugin。为了方便 IE 的调试,我将注册表项 HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\TabProcGrowth 定义为 0,以限制浏览器使用一个进程。不幸的是,对于 IE10,Program Files 和 Program Files (x86) 中的 iexplore.exe 都直接指向 64 位版本的 IE。这会阻止 32 位插件运行(请参阅 http://support.microsoft.com/kb/2716529 ),症状是静默失败。
但是,我的插件仍然无法在 IE 中加载,并且上面重新标题的问题仍然悬而未决。问题仍然是静默加载失败。不过,我认为这可能与插件配置有关。兼容性测试工具中列出的 CLSID(如上面所示的示例)被列为全 0,而不是有效的 GUID。此外,注册表看起来很奇怪:注册表项 HKCR\Company.Name 与 HKCR\Company.Name.1 一样存在,但两者都是空的(而不是像正常工作的插件那样具有 CLSID 子项)。预期的 GUID 确实存在,但使用虚假名称“applications.”。我现在正在深入研究运行 regsvr32 时调用的代码。
谢谢大家!
最佳答案
我提供这个答案是希望有人可以使用这个结果。
IE 未加载插件有两个原因。1) TabProcGrowth 注册表项和 IE 10 的 32/64 位问题。( http://support.microsoft.com/kb/2716529 )不要定义此键。
2)我的插件描述使用了撇号(例如“Gluttco's Plugin”),这搞乱了组件的注册。
2) 的详细信息:我追踪 DllRegisterServer 代码,发现虚假注册表项是由于我的插件描述包含撇号而造成的。例如。 “乔的插件”。生成器 (fbgen.py/cmake) 生成了一个格式错误的 FBControls.rgs 文件(它没有转义引号,因此包含一个字符串文字,例如 (s 'Joe's Cool Plug')。DllRegisterServer 代码(从regsvr32)在(atlbase.h深处)使用了该文件的内容(嵌入的?)。奇怪的是,解析器没有检测到错误(或以某种方式错误地恢复)。从进程监视器我可以看到添加了一堆伪造的 key ,然后再次开始添加良好的注册表项。
目前 Firebreath 插件描述不应包含撇号(可能其他字符也是非法的)。让 fbgen.py 检查这些字符并可能转义、拒绝或替换它们可能是明智的。
关于windows-8 - Firebreath 插件未在 IE 10 中加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17304860/
我是一名优秀的程序员,十分优秀!