为什么插件被 Safari 屏蔽了?

why plugin blocked by Safari?

我的插件在 Mac 的 Safari 中几乎可以正常工作,但有时它会被 Safari 阻止(参见 Safari - 首选项 - 安全 - 管理网站设置)。

所以我的第一个问题是如何让我的插件在没有用户操作的情况下成为Safari中的"Allow Always"插件?

当插件被阻止时,Safari 将显示一个占位符而不是 Internet 插件内容。 look here

所以第二个问题是Safari什么时候屏蔽了我的插件(可能是用户选择的),如何通过JS知道?

您上面的评论使您更清楚地了解了您要完成的任务。已经确定,如果您的插件被阻止,那么您的插件内的代码将不会被执行(出于安全原因),但是可以让您的网站知道插件是否已加载(或未加载)使用 injected scripts. Here is an example在 Apple 开发者页面上展示了注入的脚本如何访问 JavaScript 函数。

In this document 您会找到有关插件和扩展的访问和限制的所有信息

并且 this document 将帮助您了解插件的不同组件与网站之间的消息传递和代理。