Safari扩展运行多次注入javascript

Cra*_*ens 4 javascript safari safari-extension

我已经在Apple Developer站点上复制了以下示例中的代码.

https://developer.apple.com/library/content/documentation/Tools/Conceptual/SafariExtensionGuide/MessagesandProxies/MessagesandProxies.html#//apple_ref/doc/uid/TP40009977-CH14-SW1

当我运行扩展时,它会正常运行,除了注入的脚本运行3次,导致输出被写入console.log 3次.我还在doBigCalc函数中发出警报,它打开了3个警报.

为什么会发生/它应该发生?

Rob*_*son 6

您没有说明您的实现,但可能是您的代码不是问题.关键是要了解注入的脚本已加载....从注入的脚本文档:

脚本会注入顶级页面和任何包含HTML源代码的子项,例如iframe.不要假设每个浏览器选项卡只有一个脚本实例.

  • 我刚读过这篇文章.我刚刚添加了if(window.top === window)并修复了它. (5认同)