【发布时间】:2019-07-23 03:01:36
【问题描述】:
运行 Safari 应用程序扩展时,如果 Safari 显示“无法打开页面”,则说明您的内容脚本未加载。在这种情况下,将用户重定向到新的 url 或建议页面可能会很好,例如“你的意思是……”。
当出现 Safari 错误页面时,是否可以加载 Safari 应用程序扩展的内容脚本?
【问题讨论】:
标签: safari safari-app-extension safari-content-script
运行 Safari 应用程序扩展时,如果 Safari 显示“无法打开页面”,则说明您的内容脚本未加载。在这种情况下,将用户重定向到新的 url 或建议页面可能会很好,例如“你的意思是……”。
当出现 Safari 错误页面时,是否可以加载 Safari 应用程序扩展的内容脚本?
【问题讨论】:
标签: safari safari-app-extension safari-content-script
不,这似乎是不可能的。
根据 Apple 的 Safari App Extensions "About Permissions for Scripts and Style Sheets" 文档,我推断脚本注入仅适用于来自 http:// 或 https:// 方案的 Web 内容,而错误页面是从本地文件加载的。
URL 模式采用
Scheme://Domain/Path的形式。 (...) Scheme 可以是http或https。 (...) 星号字符可以在域或路径中的任何位置使用,但不能在方案中使用。
作为参考,这里是一个 Safari 13 错误页面模板的路径。
file:///Applications/Safari.app/Contents/Resources/en.lproj/StandardErrorPage.html
【讨论】: