浏览器开发-插件调js,js再调插件中方法,js不执行

在浏览器插件开发过程中遇到一个问题,即插件调用JS方法,JS再调用插件方法无法正常执行。解决方法是通过插件向窗口发送消息来间接实现调用。流程包括:插件创建自定义标签'onevent',调用'swithstock'方法;利用nsPluginCreateData获取标签参数;在插件内部,不直接调用JS,而是通过窗口消息传递,例如在JS中调用'SwitchStock'方法,窗口过程函数接收消息并执行相应的JS操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在做插件的开发,在插件直接掉js的方法,是可以的,但是我要求插件调js的方法,js的方法又调插件中的方法,(因为可能js中的变量要变化,由外边来设定)这样就怎么试都不可以。后来发现,可以通过不插件中不直接掉js方法,而已插件向窗口发消息来调是可以的。

整个流程如下。

 

<embed id="Splugin" src="plugin\plugin.xml" onevent="SwitchStock('SH510410.fnd');" type="application/npPluginView" width="430" height="530" />


 

我在我的插件容器中自定义了一个标签,onevent,然后调用swithstock的方法。这样在插件中的子窗口再调用整个插件的方法。

自定义标签的值可以通过:

NPError NPP_New(NPMIMEType pluginType, NPP instance, uint16_t mode, int16_t argc, char* argn[], char* argv[], NPSavedData* saved)
{
	if (!instance)
		return NPERR_INVALID_INSTANCE_ERROR;

	// create a new plugin instance object
	// initialization will be done when the associated window is ready
	nsPluginCreateData ds;

	ds.in
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值