Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa 使用NPAPI接口加载flash.swf_Cocoa_Flash_Npapi - Fatal编程技术网

Cocoa 使用NPAPI接口加载flash.swf

Cocoa 使用NPAPI接口加载flash.swf,cocoa,flash,npapi,Cocoa,Flash,Npapi,我试图编写一个直接加载SWF文件的程序,我将使用NPAPI来实现该程序 但是,我不知道怎么开始。我的意思是如何在cocoa和NPAPI之间进行沟通?如何构建程序的体系结构 我在谷歌搜索了很多次,没有很多有用的信息 我希望任何人都能帮助我 如果您有任何建议,我们将不胜感激。特别是考虑到您目前为止拥有的插件背景,我强烈建议您使用。它至少会帮你完成插件部分。剩下的就看你了,事情不会那么简单 需要知道的一点是,Mac OS X上的不同浏览器使用不同的绘图模型和不同的事件模型。对于事件模型,一般的经验法则

我试图编写一个直接加载SWF文件的程序,我将使用NPAPI来实现该程序

但是,我不知道怎么开始。我的意思是如何在cocoa和NPAPI之间进行沟通?如何构建程序的体系结构

我在谷歌搜索了很多次,没有很多有用的信息

我希望任何人都能帮助我


如果您有任何建议,我们将不胜感激。

特别是考虑到您目前为止拥有的插件背景,我强烈建议您使用。它至少会帮你完成插件部分。剩下的就看你了,事情不会那么简单

需要知道的一点是,Mac OS X上的不同浏览器使用不同的绘图模型和不同的事件模型。对于事件模型,一般的经验法则是32位浏览器支持Carbon,64位浏览器支持Cocoa,尽管有些32位浏览器支持Cocoa。根据32/64位和浏览器(和版本),您可能需要使用QuickDraw、Cocoa、CoreAnimation或CoreGraphics进行绘制


FireBreath wiki(主网站)上有一个插件。

特别是考虑到目前为止您似乎拥有大量的插件背景,我强烈建议您使用。它至少会帮你完成插件部分。剩下的就看你了,事情不会那么简单

需要知道的一点是,Mac OS X上的不同浏览器使用不同的绘图模型和不同的事件模型。对于事件模型,一般的经验法则是32位浏览器支持Carbon,64位浏览器支持Cocoa,尽管有些32位浏览器支持Cocoa。根据32/64位和浏览器(和版本),您可能需要使用QuickDraw、Cocoa、CoreAnimation或CoreGraphics进行绘制


FireBreath wiki(主网站)上有一个链接。

构建NPAPI主机并非易事;如果你真的想自己从头开始,那么最好的办法就是查看Gecko、WebKit和/或Chromium的源代码,然后从那里重复使用任何你能重复使用的东西(假设你的应用程序的源代码许可证可以做到这一点)

除此之外,这是最好的资料来源,以及最新变化的清单(因为你提到了Mac,你至少需要阅读和理解Cocoa、核心图形、核心动画和谈判提案)。请记住,NPAPI的许多工作原理实际上是基于其他浏览器的标准,所以仅仅提供文档是不够的


您在评论中提到,您不想使用WebKit是因为“安全问题”-如果您知道WebKit中存在安全问题,为什么不修复它,而不是从头开始构建一个非常复杂的系统?如果您从头开始实现NPAPI主机,那么您所犯的安全错误将比经过多年测试、调试和改进的成熟实现中所犯的安全错误要少,这是非常非常不可能的;如果你真的想自己从头开始,那么最好的办法就是查看Gecko、WebKit和/或Chromium的源代码,然后从那里重复使用任何你能重复使用的东西(假设你的应用程序的源代码许可证可以做到这一点)

除此之外,这是最好的资料来源,以及最新变化的清单(因为你提到了Mac,你至少需要阅读和理解Cocoa、核心图形、核心动画和谈判提案)。请记住,NPAPI的许多工作原理实际上是基于其他浏览器的标准,所以仅仅提供文档是不够的


您在评论中提到,您不想使用WebKit是因为“安全问题”-如果您知道WebKit中存在安全问题,为什么不修复它,而不是从头开始构建一个非常复杂的系统?如果您从头开始实现NPAPI主机,那么与经过多年测试、调试和改进的成熟实现相比,您所犯的安全错误将更少。这是非常非常不可能的。

谢谢您的建议!但是,我不打算做一个插件。我想建立一个Mac窗口应用程序只有一个按钮,只要点击按钮,然后应用程序将弹出一个SWF动画。我不会尝试使用WebKit和Flash应用程序来实现我的程序,因为WebKit有安全问题,Flash应用程序需要花费很多钱。因此,我决定使用NPAPI。谢谢你的建议,希望你能给我更多的建议。谢谢,好的,;我会看看FireBreath中的NPAPIHost项目,它是插件主机的核心。正如斯摩根所说,你所做的是非常平凡的。我会考虑改用WebKit;你要做的不是一件简单的事。不过,我给你的链接仍然很有用,因为如果你不知道如何实现自己的链接,你将无法托管其他人的链接。正如smorgan所说,如果您知道存在安全问题,请修复它——或者至少报告它。非常感谢。安全问题涉及跨域问题。我不知道具体细节,因为那个测试程序不是我自己设计的,所以我只知道这么多。谢谢你的建议!但是,我不打算做一个插件。我想建立一个Mac窗口应用程序只有一个按钮,只要点击按钮,然后应用程序将弹出一个SWF动画。我不会尝试使用WebKit和Flash应用程序来实现我的程序,因为WebKit有安全问题,Flash应用程序需要花费很多钱。因此,我决定使用NPAPI。谢谢你的建议,希望你能给我更多的建议。谢谢,好的,;我会看看FireBreath中的NPAPIHost项目,它是插件主机的核心。正如斯摩根所说,你所做的是非常平凡的。我会考虑改用WebKit;你要做的不是一件简单的事。不过,我给你的链接仍然很有用,因为如果你不知道如何实现自己的链接,你就不会去b