我正在尝试使用 VC2010-Express 的 npruntime-scriptable-plugin。
没有插件容器的 Firefox。
示例脚本插件
结果在这里:
NPN_Evaluate() 测试,document = [object HTMLDocument]
函数 bar([object Window]) 调用!
Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko/20120407 Firefox/11.0
带有插件容器的 Firefox
示例脚本插件
结果在这里:
函数 bar([object Window]) 调用!
Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko/20120407 Firefox/11.0
错过这条线
NPN_Evaluate() 测试,document = [object HTMLDocument]
这很重要,因为默认加载插件是启用插件容器的。怎么了?
2.) 插件崩溃(Firefox 关闭)使用------
modules/plugin/sdk/samples/npruntime/plugin.cpp 作者 Josh Aas Mon Nov 23 13:57:27 2009 -0500(在 Mon Nov 23 13:57:27 2009 -0500)
static LRESULT CALLBACK PluginWinProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
745 {
746 switch (msg) {
747 case WM_PAINT:
...
756 if(p) {
757 if (p->m_String[0] == 0) {
758 strcpy("foo", p->m_String);
759 }
760
761 DrawText(hdc, p->m_String, strlen(p->m_String), &rc, DT_SINGLELINE | DT_CENTER | DT_VCENTER);
我将第 758 行更改为
strcpy_s(p->m_String, 3+1, "foo");
如果版本字符串为空,Firefox 不会崩溃。这个更改/代码可以吗?