草庐IT

UserScripts Safari 苹果iOS上特别好用且免费的脚本插件,五分钟学会

1024小神 2023-10-01 原文

JavaScript yyds。如果你喜欢用 Chrome for iOS,那么你也可以试试通过 QuantumultX/Surge 等代理工具及其提供的方法为网站的特定网页嵌入 JavaScript 用户脚本,用于移除网页上的广告或加速视频广告跳过等;(参阅本文附注)

UserScripts 介绍(iOS App)

Userscripts 是一款免费 iOS Safari 浏览器插件,可以兼容油猴脚本,但如果油猴脚本代码没有对手机进行适配的话可能不会生效。 注意!本App需在 iOS 15及后续版本使用

一个开源的用户脚本管理器(for Safari);官方项目仓库及介绍: GitHub - quoid/userscripts: An open-source userscript manager for Safari 

安装及使用 UserScripts App

官方项目仓库及使用说明
系统支持:iOS15+;
浏览器支持:Safari 扩展;
官方项目开源仓库GitHub - quoid/userscripts: An open-source userscript manager for Safari
App:App Store 搜索下载 UserScriptsUserScripts
油猴脚本大全Greasy Fork - 安全、实用的用户脚本大全
去广告计划油猴脚本版https://greasyfork.org/zh-CN/scripts/443290-adblock4limbo
 

 UserScripts for Safari 图文详细步骤

1.在App Store搜索安装 UserScripts

2.打开 userscript app,设置油猴脚本存储路径 - 可在 文件App 中进行删除脚本操作;

3.打开 iOS 设置 App - 找到 Safari 浏览器 - 通用 - 扩展 - 允许这些扩展 - 选择启用 Userscript;

4.打开 Safari 浏览器,确保以下设置完成;

5.正式安装(油猴)用户脚本,然后重新打开safari里面的userscripts,就可以看到了

或者使用直接安装的方式,安装(油猴)用户脚本

6.查看并打开新安装的脚本

7.电脑中导出脚本可直接在安装此脚本按钮处右键 链接另存为 来保存脚本 js 文件

不想使用该脚本时,进入 Userscript 扩展里关闭即可;

VI. 内容脚本的内容示例参考

// ==UserScript==
// @name         屏蔽内容农场(with 油猴脚本)
// @namespace    http://tampermonkey.net/
// @version      0.3.3
// @description  利用 JavaScript/CSS 屏蔽「内容农场」在谷歌搜索结果中的呈现,顺便在清除谷歌搜索结果中的Adsense广告,还你清爽的 Google 中文搜索体验!
// @author       limbopro
// @license MIT
// @match        https://www.google.com/search*
// @match        https://www.google.com.hk/search*
// @match        https://www.bing.com/search*
// @match        https://www.bing.com/?FORM*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=google.com.hk
// @run-at document-end
// @grant        none
// ==/UserScript==

// 动态创建并引入第三方脚本
var script = document.createElement("script");
script.src = 'https://limbopro.com/Adguard/contentFarm/contentFarm.js';
document.body.appendChild(script);

如上,脚本前半部分注释均为用户脚本管理器能识别的信息:进行定义,如脚本名称 @name 、脚本描述 @description、以及会在哪些网页生效 @match 等等;如需了解更多用户脚本相关知识,可参阅官方文档:Documentation | Tampermonkey ; 脚本的后半部分是 JavaScript 脚本实际可执行部分,包括一些函数、方法等等,用以遍历相应的HTML元素,如图片、块级元素,并对其进行精确匹配、替换、移除等等操作;对 JavaScript 有兴趣的(零基础)小伙伴可以参阅:蹲坑读物 - JavaScript 教程,作者阮一峰,可读性极高,不出半天基本上可以了解个大概了;

VII. 油猴脚本管理器用户脚本属性值说明

@name
脚本的名称。该项将显示在页面的标题以及链接内容,必填项。
@name:XX-YY
脚本在特定语言区域的标题。XX 指 ISO 639-1 国家代码 以及 YY 指可选的 ISO 3166 地区代码。该选项用于提供多语言的@name 脚本名称。
@description
脚本功能的描述,显示在脚本标题下面,必填项。
@description:XX-YY
用某门语言写成的脚本描述。XX 指 ISO 639-1 国家代码 以及 YY 指可选的 ISO 3166 地区代码。该选项用于提供多语言的@description 脚本介绍。
@namespace
@namespace 与 @name 这两个属性被作为脚本的唯一标识符,用户脚本管理器根据它们来判断一个脚本是否已安装。Greasy Fork 也需要这些属性,若用户在更新脚本时改变了两者中的任意一项,将发出警告。
@version
脚本的版本标记将使用 Mozilla 版本格式,并显示于脚本的简介页面。Greasy Fork 要求填写该属性,且当用户更新脚本时没有更新版本号或降低了版本号时将发出警告。
@include, @exclude, @match
描述脚本会在哪些网站上运行。该列表会被解析和展示到脚本的简介页面,并用于脚本的分类。每个脚本须有至少一个 @match 或 @include。了解格式细则。
@require
在您的脚本中引用其他外部脚本。请参见 包含外部脚本的使用规定。
@updateURL, @installURL, @downloadURL
告知用户脚本管理器应该在哪个地址获取脚本更新。Greasy Fork 将自动修改该属性使其永远通过 Greasy Fork 进行更新。
@license
许可证描述的是您是否允许别人以某些形式复制或修改您的脚本。建议从 SPDX 许可证列表 中选择「Full name」或「Identifier」填至此处。若您不提供许可证,则表示脚本仅允许个人使用且不得二次分发。许可证将在脚本的简介页面显示。
@supportURL
该脚本的技术支持链接(如:错误反馈系统、论坛、电子邮箱地址等),该链接将显示在脚本的反馈页面。
@contributionURL
用于捐赠脚本作者的链接,该链接将显示在脚本的反馈页面。网址可以为 http、https 或比特币协议的网址。如果您需要链接到贝宝捐赠页面,请使用例如 https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=your.email.here@example.com&item_name=Greasy+Fork+donation 这样的格式,替换为您自己的邮箱地址即可。
@contributionAmount
建议捐赠金额,请配合 @contributionURL 使用。
@compatible
标记此脚本与某个浏览器兼容,兼容性信息将显示在脚本的简介页面上。您也可以添加额外的兼容说明,如 @compatible firefox 火狐上必须关闭广告过滤器 这样的格式。目前能被网站识别的浏览器名称有:firefox, chrome, opera, safari, edge。
@incompatible
标记此脚本与某个浏览器不兼容,兼容性信息将显示在脚本的简介页面上。您也可以添加额外的兼容说明,如 @incompatible firefox 自火狐 23 开始不兼容 这样的写法。目前能被网站识别的浏览器名称有:firefox, chrome, opera, safari, edge。
@antifeature
披露会为脚本作者而非用户带来额外收益的功能。你可以通过在脚本的元数据中添加 @antifeature type description 值的方法披露。其中type(类型)是必须填写的内容,而 description(描述)则可以留空。更多信息可以点击此处阅读 Greasy Fork 上关于 type的说明。
@antifeature:XX-YY
你可以使用多种语言声明 @antifeature 属性,其中 XX 为 ISO 639-1 中定义的两个字符的代码,而 YY 则是一个可选的 ISO 3166 中定义的国家代码。在@antifeature中制定的每一个类型都可以自定义其本地化的说明。

Tampermonkey 用户脚本管理器使用官方文档
Documentation | Tampermonkey
greasyfork.org 文档:(包括如何安装、如何编写用户脚本):站点帮助 ; Greasy Fork 要读取的脚本元属性值 ;

广告屏蔽或JavaScript学习指南

官网Learn JavaScript Online - Courses for Beginners - javascript.com
JavaScript 教程JavaScript 教程 - 网道 (随时可以阅读)
现代 JavaScript 教程现代 JavaScript 教程
JavaScript 教程JavaScript 教程 | 菜鸟教程 (附带测试工具)
著名广告屏蔽扩展 uBlock Origin 提供了一些文档: Home · gorhill/uBlock Wiki · GitHub 如 scriptlets插入等等

有关UserScripts Safari 苹果iOS上特别好用且免费的脚本插件,五分钟学会的更多相关文章

  1. ruby - 如何每月在 Heroku 运行一次 Scheduler 插件? - 2

    在选择我想要运行操作的频率时,唯一的选项是“每天”、“每小时”和“每10分钟”。谢谢!我想为我的Rails3.1应用程序运行调度程序。 最佳答案 这不是一个优雅的解决方案,但您可以安排它每天运行,并在实际开始工作之前检查日期是否为当月的第一天。 关于ruby-如何每月在Heroku运行一次Scheduler插件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8692687/

  2. ruby-on-rails - 无法使用 Rails 3.2 创建插件? - 2

    我对最新版本的Rails有疑问。我创建了一个新应用程序(railsnewMyProject),但我没有脚本/生成,只有脚本/rails,当我输入ruby./script/railsgeneratepluginmy_plugin"Couldnotfindgeneratorplugin.".你知道如何生成插件模板吗?没有这个命令可以创建插件吗?PS:我正在使用Rails3.2.1和ruby​​1.8.7[universal-darwin11.0] 最佳答案 随着Rails3.2.0的发布,插件生成器已经被移除。查看变更日志here.现在

  3. ruby - 如何验证 IO.copy_stream 是否成功 - 2

    这里有一个很好的答案解释了如何在Ruby中下载文件而不将其加载到内存中:https://stackoverflow.com/a/29743394/4852737require'open-uri'download=open('http://example.com/image.png')IO.copy_stream(download,'~/image.png')我如何验证下载文件的IO.copy_stream调用是否真的成功——这意味着下载的文件与我打算下载的文件完全相同,而不是下载一半的损坏文件?documentation说IO.copy_stream返回它复制的字节数,但是当我还没有下

  4. Ruby 文件 IO 定界符? - 2

    我正在尝试解析一个文本文件,该文件每行包含可变数量的单词和数字,如下所示:foo4.500bar3.001.33foobar如何读取由空格而不是换行符分隔的文件?有什么方法可以设置File("file.txt").foreach方法以使用空格而不是换行符作为分隔符? 最佳答案 接受的答案将slurp文件,这可能是大文本文件的问题。更好的解决方案是IO.foreach.它是惯用的,将按字符流式传输文件:File.foreach(filename,""){|string|putsstring}包含“thisisanexample”结果的

  5. Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting - 2

    1.错误信息:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaitingheaders)或者:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:TLShandshaketimeout2.报错原因:docker使用的镜像网址默认为国外,下载容易超时,需要修改成国内镜像地址(首先阿里

  6. 阿里云国际版免费试用:如何注册以及注意事项 - 2

    作为新的阿里云用户,您可以50免费试用多种优惠,价值高达1,700美元(或8,500美元)。这将让您了解和体验阿里云平台上提供的一系列产品和服务。如果您以个人身份注册免费试用,您将获得价值1,700美元的优惠。但是,如果您是注册公司,您可以选择企业免费试用,提交基本信息通过企业实名注册验证,即可开始价值$8,500的免费试用!本教程介绍了如何设置您的帐户并使用您的免费试用版。​关于免费试用在我们开始此试用之前,您还必须遵守以下条款和条件才能访问您的免费试用:只有在一年内创建的账户才有资格获得阿里云免费试用。通过此免费试用优惠,用户可以免费试用免费试用活动页面上列出的每种产品一次。如果您有多个帐

  7. ruby-on-rails - 您希望看到哪些 Rails 插件? - 2

    您认为可以作为插件很好地存在于您的Rails应用程序中必须实现的哪些行为?您过去曾搜索过哪些插件功能但找不到?哪些现有的Rails插件可以改进或扩展,如何改进或扩展? 最佳答案 我希望在管理界面中看到一个引擎插件,它提供了应用程序中所有模型的仪表板摘要,以及可配置的事件图表。 关于ruby-on-rails-您希望看到哪些Rails插件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questio

  8. ruby - 为什么不能使用类IO的实例方法noecho? - 2

    print"Enteryourpassword:"pass=STDIN.noecho(&:gets)puts"Yourpasswordis#{pass}!"输出:Enteryourpassword:input.rb:2:in`':undefinedmethod`noecho'for#>(NoMethodError) 最佳答案 一开始require'io/console'后来的Ruby1.9.3 关于ruby-为什么不能使用类IO的实例方法noecho?,我们在StackOverflow上

  9. ruby - vagrant 从 github 安装插件 - 2

    我们正在使用Vagrant进行部署,我们最终希望将此集群部署在Rackspace上。vagrant-rackspace插件是一个自然的选择,但它有一些错误,这些错误未包含在最新的0.1.1版本中(notablythatvagrantprovisiondoesn'twork)。我已经在我的personalfork中解决了这个问题通过合并其他人的工作来对存储库进行改造。是否可以从github安装vagrant插件?显而易见的事情没有奏效:[unix]$vagrantplugininstallvagrant-rackspace--plugin-sourcehttps://github.com

  10. IDEA使用LeetCode插件 - 2

    前言我们习惯用idea编写、调试代码,在LeetCode上刷题时,如果能够在IDEA编写代码,并且做好代码管理,是一件事半功倍的事情。对于后续复习题目,做笔记也会非常便利。本文目的在于介绍LeetCodeEditor的使用,以及配置工具类,最终目录结构如下:note:放置笔记src:放置代码leetcode.editor.cn:插件LeetCodeEditor自动生成utils:自定义的工具包,可用于自动化输入测试用例,定义题目需要的类(结构体)out:运行测试时自动生成LeetCodeEditorGitHub:https://github.com/shuzijun/leetcode-edit

随机推荐