有没有办法将chrome扩展移植到其他浏览器,而不必完全重写代码?我的Chrome扩展使用browser_action命令,在扩展窗口中打开“popup.html” ......有没有办法将chrome扩展移植到其他浏览器?
更新:我发现adblockforchrome port.js,发现它唯一有点移植到Safari浏览器有帮助...
有没有办法将chrome扩展移植到其他浏览器,而不必完全重写代码?我的Chrome扩展使用browser_action命令,在扩展窗口中打开“popup.html” ......有没有办法将chrome扩展移植到其他浏览器?
更新:我发现adblockforchrome port.js,发现它唯一有点移植到Safari浏览器有帮助...
它取决于扩展的类型,但不是真的。要更清楚地回答你的问题,你需要指定你的扩展是关于什么:修改一些页面(比如userscripts/userstyles),扩展浏览器的功能,或者其他的东西。
有几个便携笔记,但是,可以帮助您简化这个过程:
Apple provides some guidance关于如何将Chrome扩展程序转换为Safari,但是您要运行的问题是每个浏览器都有一组不同的允许扩展功能。即使使用Chrome浏览器到Safari浏览器,也有一些您可以在Chrome中执行的操作,而您无法在Safari中执行操作,反之亦然。
跳得有点迟。
我们公司 - 切片工厂(全面披露此处!)的确提供了浏览器扩展转换服务:http://gallery.extensionfactory.com/labs/conversion/ 在大多数情况下,您的Chrome扩展可以在FF和Safari中无缝工作。
该服务仍处于beta测试阶段,并且Firefox转换效果比Safari更好。 我不能完全透露我们的技术解决方案,但这是一个SO答案,我可以添加一些细节:我们已经重新开发了一个完整的JavaScript API堆栈,它模仿Safari和Firefox的大部分扩展API;在Firefox中,我们将基于JetChrome的工作。此外,我们有包装重新打包铬扩展添加我们的库和重写清单等。
除此之外,它主要是一些好主意,试验和错误,以及大量的开发时间。
举个例子: Safari 5.1刚刚推出了一个与Chrome的browser_action相对应的弹出窗口,但我们已经有了一个适用于以前版本的替代解决方案。 Firefox不支持HTML5 WebSQL,但我们有一个API。我们还提供了一种将webapps带到FF的方法,并且很快将其带到Safari。 目标是将Chrome API作为参考,并在所有其他浏览器上模拟它。
如果不推动我们的解决方案,我可能会补充说,在Safari和Firefox上全面覆盖Chrome API的时间可能是不值得的 - 除非您计划转换多个扩展。因此,对于一两个扩展,我建议尽可能使模块尽可能模块化,然后创建三个扩展 - 或尝试我们的服务!
哦,对于IE浏览器有网页。我们使用他们作为我们的另一个产品作为'代孕':) – Stefano 2011-09-15 17:20:51
只是尝试过你的服务,但可惜它没有奏效。 (ID:hcieonlgpadegedlcpdhndifhaeahajp,bkeiokdfjgnaglohebonlmpimnpinahd) – 2012-01-22 04:05:27
@StefanSchmidt不幸总会有一些限制!第一个不起作用,因为他们在创建页面之前在页面中搜索元素。实际上,它真的很幸运。第二个在Firefox中转换并运行良好;由于不支持的图像格式,它不会在Safari中转换,我解决了这个问题,但由于Safari中的弹出窗口和页面之间的Cookie分离,它可能无法正常工作。如果您有进一步的兴趣,请通过页面底部的电子邮件与我联系! – Stefano 2012-01-22 14:43:21
为什么要关心IE兼容性?它不支持扩展。 – serg 2010-08-11 18:27:00
它的确如此,但是采用了非常非常非常不寻常的方式。 – 2010-08-12 04:16:36