【发布时间】:2015-07-10 20:28:58
【问题描述】:
我为一个网站创建了一个 javascript 用户脚本。我希望我的导航器在我在这个网站上时自动检测并执行脚本。
是否可以仅在特定站点上运行注入脚本?
【问题讨论】:
标签: javascript safari navigator
我为一个网站创建了一个 javascript 用户脚本。我希望我的导航器在我在这个网站上时自动检测并执行脚本。
是否可以仅在特定站点上运行注入脚本?
【问题讨论】:
标签: javascript safari navigator
是的,这是possible。 Apple 编写了一份指南。注意最后的粗体部分。
添加脚本
要添加注入脚本,请按以下步骤操作:
- 创建一个扩展文件夹 - 打开 Extension Builder,单击 +,选择 New Extension,为其命名和位置。
- 将脚本文件拖到扩展文件夹中。
- 在Extension Builder中点击Injected Extension Content下的New Script,如图10-1所示:
您可以选择将脚本作为开始脚本或结束脚本注入。 End Script 在 DOM 完全加载时执行——此时 body 元素的 onload 属性通常会触发。大多数脚本应该作为结束脚本注入。 开始脚本在文档创建时但在网页被解析之前执行。如果您的脚本阻止了不需要的内容,它应该是一个启动脚本,因此它会在页面显示之前执行。
从弹出菜单中选择您的脚本文件。 您可以同时拥有开始和结束脚本。每种类型可以有多个脚本。
为了让您的脚本被注入,您必须为您的扩展程序指定部分或全部网站访问权限。您可以将脚本应用于单个网页、所有网页或仅某些网页——例如,来自某些域的页面。详情请见the description of whitelists and blacklists in Access and Permissions。
从最后一个链接 (this one),这是重要的图片:
这是您要用于将网站列入黑名单/白名单的内容。
【讨论】: