我正忙于在safari中创建博彩公司扩展并遇到以下问题。在我的popover中,我有一个包含按钮的iframe。单击该按钮(提交按钮)时,必须发送以下消息:
window.addEventListener('message', function(e){
if(e.data.command == 'closeSymbalooBookmarker'){
window.setTimeout(function(){
window.close();
}, 2000);
}
});
你可以看到这在2秒内关闭了弹出窗口(上面的脚本是用chrome扩展名制作的)。
我需要从注入脚本向弹出窗口发送一条消息,以便我可以在弹出窗口中关闭弹出窗口。或者还有其他方法吗?
谢谢你。
答案 0 :(得分:1)
全局页面是从注入的脚本接收消息的最佳位置。
做这样的事情:
safari.application.addEventListener('message', handleMessage, false);
function handleMessage(msg) {
if (msg.name === 'hidepopover') {
safari.extension.popovers[0].hide()
}
}
setTimeout(function() {
safari.self.tab.dispatchMessage('hidepopover');
}, 2000);