Safari 13 去除 Google 搜索结果跳转

在 Safari 9 以前,我们只要下载一个 safariextz 文件双击它,就能让 Safari 加载这个插件了。好处肯定是很方便,但也不太安全(随处都能下载到的插件,很可能是被篡改过的)。

所以后来,Apple 就不再允许用户直接下载插件给 Safari 安装了,必须通过 Mac Apple Store 下载 App,然后 App 里以插件的形式提供 Safari 插件,配合 App 的完整性校验,这样用 Safari 插件就安全多了,同时,由于和 MAS 的统一,插件也方便卖钱了(对开发者来说)。

但这样直接导致了很多 Safari 开发者无法给 Safari 提供插件——因为他们并不是专门的 Apple 生态开发者,也没有购买苹果的开发者会员,这些插件就无缘 MAS,用户又不能再像以前那样直接安装,这些(绝大多数)插件就再也不能用在 Safari 上了。

不过,你还是可以自己编译 App 来创建 Safari 插件的,毕竟本质上工作原理没有变化。

当然,由于我才疏学浅,目前也就碰巧让“屏蔽谷歌跳转”的插件生效了,我不知道是不是一个插件只能加载一个功能,还是其他插件的功能确实就无法在现在的 Safari 上实现……

准备

首先你需要下载最新版本的 Xcode,不需要购买开发者会员,但你应该有一个免费账户,就是你的 Apple ID。

然后是你想要加载的插件,也就是 safariextz 文件。

编译程序

首先,把你的 myplugins.safariextz 文件改名为 myplugins.zip ,这样你就可以把它解压缩了。

解压缩后在插件里找到一个 .js 文件,这就是我们稍后要用的插件代码,请保存好。

使用 Xcode 创建一个 Safari 扩展项目:

使用 Xcode 创建一个新的 Safari 插件项目

使用 Xcode 创建一个新的 Safari 插件项目

创建好的空项目就已经是新版一个 App 加一个扩展的样子了。

接下来,在左侧导航到插件的子项目中,找到它的 Info.plist ,在里边找到 Allowed Domains ,将里边的内容改为 *.google.com :

修改插件配置

修改插件配置

然后在左侧文件列表找到 script.js 这个文件,删除里边的内容,然后把之前在插件里找到的那个 .js 文件内容全部复制粘贴到这里边。

激活插件

好了,现在我们就来运行这个程序,注意,是 App,不要直接运行那个插件子项目。

运行后你会看到一个模板 App 启动:

直接启动 App

直接启动 App

点击窗口中唯一的按钮,系统会自动跳转到 Safari 扩展设置界面,勾选我们刚刚创建的这个插件即可。

这里我给插件起名为“GR”,各位请根据你创建插件时自己起的名字对号入座 :)

插件一旦加载到 Safari,你的 App 就可以退出了,Xcode也可以关闭,甚至项目文件也能删除。

将 App 保存下来

由于直接启动程序其实是在 Xcode 的编译缓存中运行的,虽然你不主动清空,它就会一直存在,但我们还是把它放到正常的目录中吧。

在 Safari 的插件管理界面,选择 “卸载”,Safari 会告诉你需要去删除这个插件对应的 App,然后点击“在 Finder 中显示”,你就找到了这个 App 的位置,把它拖到 “Applications” 目录中吧,然后重新打开它加载一次即可。

 

 

本文由 落格博客 原创撰写:落格博客 » Safari 13 去除 Google 搜索结果跳转

转载请保留出处和原文链接:https://www.logcg.com/archives/3362.html

About the Author

R0uter

如非声明,本人所著文章均为原创手打,转载请注明本页面链接和我的名字。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注