Safari桌面扩展调试问题:弹窗Web Inspector切换焦点后消失
Safari扩展弹窗调试焦点消失问题解决思路
强制弹窗保持打开
在弹窗页面的代码里临时加个阻止关闭的逻辑,调试完记得删掉:// 临时禁用弹窗关闭逻辑 document.addEventListener('click', e => e.stopPropagation());这样点击弹窗外部不会触发关闭,切焦点时弹窗和调试器都能保住。
直接从开发者菜单绑定调试器
打开Safari的开发者菜单,选Develop > Web Extensions,找到你的扩展,直接点对应的popover页面打开调试器。这种方式绑定的调试器不会随弹窗消失而断开,就算弹窗暂时没了,调试器会话还在,切回去能继续用。临时改manifest把弹窗转成独立面板
把manifest里的popover配置临时改成panel类型(调试完改回),panel是独立窗口,不受焦点切换影响:// manifest.json 临时修改(v2示例,v3用action字段) "browser_action": { "default_panel": "popover.html" }用后台页面看日志兜底
要是前面的方法都不好使,就在弹窗的关键逻辑里加console.log(),然后打开Develop > Web Extensions > [你的扩展] > Background Page看日志,弹窗关了日志也不会丢。
内容的提问来源于stack exchange,提问作者anon
相关产品推荐
相关产品推荐

