Google chrome Chrome 32-使用Chrome扩展插件打开的选项卡不';无法正确呈现插件

Google chrome Chrome 32-使用Chrome扩展插件打开的选项卡不';无法正确呈现插件,google-chrome,google-chrome-extension,npapi,Google Chrome,Google Chrome Extension,Npapi,我们有一个Chrome扩展,可以用来打开我们网站的页面。从那里,用户接着进入下一个页面,其中嵌入了一个定制的NPAPI插件。这一直运作良好。但是,由于版本32更新了插件的加载和运行(它是一个视频会议插件,显然在另一方可以看到视频的情况下运行),因此它不会显示在页面上。检查DOM时,一切看起来都很好。抓取边框并重新调整浏览器大小将导致插件突然正确渲染。我尝试了各种各样的javascript/css技巧,试图模仿这种行为作为一种解决方法,但没有任何效果。手动打开的选项卡(不使用chrome.Tabs

我们有一个Chrome扩展,可以用来打开我们网站的页面。从那里,用户接着进入下一个页面,其中嵌入了一个定制的NPAPI插件。这一直运作良好。但是,由于版本32更新了插件的加载和运行(它是一个视频会议插件,显然在另一方可以看到视频的情况下运行),因此它不会显示在页面上。检查DOM时,一切看起来都很好。抓取边框并重新调整浏览器大小将导致插件突然正确渲染。我尝试了各种各样的javascript/css技巧,试图模仿这种行为作为一种解决方法,但没有任何效果。手动打开的选项卡(不使用chrome.Tabs.create)工作正常。 这一直持续到32岁。

有什么想法吗?

Chrome 32正在逐步淘汰NPAPI,请阅读

有一个弃用指南,您可以阅读

谷歌似乎希望你们使用它的技术在用户的机器上运行本机编译代码。这是很酷的东西…但到目前为止,我发现与NPAPI相比,使用它很困难/更具局限性(但有明显的好处,比如安全性)


您还可以构建本机应用程序,并使用扩展->应用程序进行通信。有一个缺点是,目前无法将本机应用捆绑到扩展安装中,因此用户需要分别下载和安装您的应用。

是的,我们知道NPAPI即将推出:)我确实对此进行了一些研究。我给人的印象是,只有在应用程序使用NACL构建的情况下,本机消息才能工作,这是因为我们需要访问硬件,所以无法工作。不过回到问题上来,这很烦人,因为它在大多数情况下都能工作,而且正在运行。它只是因为没有更好的术语而被“隐藏”。这只是页面上的呈现问题,只有在使用扩展API打开选项卡时才会显示。感谢您的回答。本机消息传递应用程序不必使用NaCL构建,它们可以使用stdin/stdout与chrome扩展进行通信。在安装应用程序的位置上有限制,更多详细信息请参见《开发指南》页面。在我的测试中,这种方法实际上非常有效(尽管设置起来很痛苦)。根据你的应用程序想要做什么,这可能是你的一个选择。你是否在上提交了一个bug?这是确保未来版本没有相同bug的最好方法,也是从了解内部结构的人那里了解是否有解决方法的最好方法。