我正在尝试使用VC2010-Express的npruntime-scriptable-plugin。
没有插件容器的Firefox。
结果在这里:
NPN_Evaluate()测试,document = [object HTMLDocument]
功能栏([对象窗口])调用!
Mozilla / 5.0(Windows NT 5.1; rv:11.0)Gecko / 20120407 Firefox / 11.0
带插件容器的Firefox
结果在这里:
功能栏([对象窗口])调用!
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(11月23日星期一13:57:27 - 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不会崩溃。这个改变/代码好吗?