以后只要双击xpi文件就手动调试(7)在firefox官方上登录之后可以手动调试注册网页 /developers关于沙箱审核平台 /zh-TW/firefox/pages/sandbox7. windows下工程文件及注意事项F:\VS2008\runtime\runtime.sln(1) 插件的名字必须是np*.dll,也就是必须以np开头,.dll结尾LANGUAGE 和 code_page必须是LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US#pragma code_page(1252)(3)nprt.rc 中 VALUE "MIMEType", "application/mozilla-npruntime-scriptable-plugin\0" 这个是html页的<embed> 识别软件的唯一途径。用Type属性识别<embed type="application/mozilla-npruntime-scriptable-plugin" pluginspage = "npruntime.xpi" width=600 height=40 id="embed1" name = "NPRUNTIME">(4)插件的读取过程当一个页面开启时,如果该页面上有内嵌一个插件,浏览器将会做下面事情:通过MIMEType检查是否有匹配软件 加载组件代码到硬盘 初始化插件 创建一个新的软件实例 插件可以在一个页面上被范例多个对象,也可以在同一时刻在不同的窗口中被实例化。
当页面被关闭时,插件的示例就会被销毁。当最后一个实例被删掉后,插件代码就会从硬盘中被删除掉。下面是软件内的变量调用过程:如果组件是首次被载入存储,浏览器会读取软件的NP_Initialize方法。为了方便起见,所有的类库定义变量以“NPP”开头,所有的浏览器定义变量以“NPN”开头。 当浏览器创建组件实例时,会读取NPP_New方法。 当软件实例被删除时(如关掉页面、关闭窗口),会读取NPP_Destroy方法。 当最后一个实例被删除,插件从硬盘中删除时,会读取NP_Shutdown方法。 参考网页 /tredgrey/blog/item/e0762d62358781690d33fa4a.html(5)一个插件中的方式分为插件步骤(Plug-in Methods)和浏览器方法(Browser Methods)。插件方式是你在插件中自己去执行的那些技巧,以NPP为前缀命名。浏览器方法是被Gecko所执行的那些手段,以NPN为前缀命名。数 据结构(Data Structures)以NP开头。NPError OSCALL NP_GetEntryPoints(NPPluginFuncs* pFuncs) (7)插件接口定义 plugin.cpp static NPIdentifier sFoo_id;sFoo_id = NPN_GetStringIdentifier("foo");在bool ScriptablePluginObject::Invoke(NPIdentifier name, const NPVariant *args,uint32_t argCount, NPVariant *result)处理接口事件(8) 插件事件托管 plugin.cppstatic LRESULT CALLBACK PluginWinProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) 8. 简述Gecko Plugin API Reference 介绍NPP_Destroy 删除软件的一个运行示例(instance)NPP_DestroyStream 告知插件将要删除一个流数据NPP_GetValue 供浏览器查询软件的外部信息NP_GetValue 供浏览器查询软件的外部信息NPP_HandleEvent 注册关心的事故,当事件出现时浏览会通知软件NP_Initialize 只读取一次,在软件加载时读入NPP_New 创建组件的一个实例NPP_NewStream 通知软件实例出现了新的流数据NPP_Print 请求嵌入式打印还是全屏打印NPP_SetValue 插件添加函数信息NPP_SetWindow 当窗口建立、移动、改变大小或者销毁时通知插件NP_Shutdown 销毁插件,与NP_Initialize对应NPP_StreamAsFile 为数据流提供一个本地文件名NPP_URLNotify 插件要求通知后,当针对某个URL的请求完成后,浏览器通知软件NPP_Write 插件加载流数据NPP_WriteReady 调用NPP_Write之前调用,确实插件可以接收多少字符的数据test.html制作人:吕维俊2010.10.10
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/bofangqi/article-120546-2.html