从一页发送功能,然后在另一页上运行

时间:2019-04-03 19:49:05

标签: javascript dom-events

我可以访问本地主机上的两个页面。我要发送功能的页面在我要发送功能的页面的框架中。后消息会在接收器/ iframe页面上工作并设置事件侦听器吗?功能是:

 ipa.searchByString(query);

监听器语法:

ipa.addListener('query', myAppEventHandler);
};

1 个答案:

答案 0 :(得分:0)

是的,可以将一个函数作为字符串从一个页面发送到另一页面,但是如果该函数依赖于其他函数变量,则无法正常工作。通常我不希望您在这里。而是将处理程序传播到消息传递通道:

 ipa.addListener('query', function proxy(data) {
   iframe.postMessage({ name: "ipa", data });
 });

然后在另一页上接收它:

 window.onmessage = e => {
   const { name, data } = e.data;
   if(name === "ipa") myAppEventHandler(data);
};