我为 Safari 5 编写了一个非常简单的扩展,它只从启动脚本输出一条日志消息。这是启动脚本:
console.log('开始运行脚本');
如果我访问任何互联网页面(例如http://www.yahoo.com),日志消息会出现在错误控制台中。但是,如果我打开任何本地 html 页面,则不会出现日志消息。本地是指在我的本地机器上。就像我的启动脚本永远不会为本地页面运行(例如 C:/blank.html)。
是否有我忽略的权限设置或者这是 Safari 5 的功能?
布伦特
我为 Safari 5 编写了一个非常简单的扩展,它只从启动脚本输出一条日志消息。这是启动脚本:
console.log('开始运行脚本');
如果我访问任何互联网页面(例如http://www.yahoo.com),日志消息会出现在错误控制台中。但是,如果我打开任何本地 html 页面,则不会出现日志消息。本地是指在我的本地机器上。就像我的启动脚本永远不会为本地页面运行(例如 C:/blank.html)。
是否有我忽略的权限设置或者这是 Safari 5 的功能?
布伦特
警告:我对 Safari 扩展系统只略知一二。我在基于 Webkit 的 Google Chrome 上工作。Safari 也是基于 webkit。
file://
在 Google Chrome 扩展程序中,您可以使用权限将脚本注入本地页面。但我很确定 Safari 扩展没有类似物。
关于脚本注入的Safari 页面似乎也说您无法与本地文件交互:
“您无法访问扩展文件夹之外的用户硬盘驱动器上的资源。”</p>
无法在本地文件上注入脚本。
如果您愿意,可以在bugreport.apple.com上进行投诉。