0

所以最近 Safari 升级到 Safari 12,所有不是通过 Extensions API 创建的扩展都不再正常工作。这对我来说很麻烦,因为过去几年我一直在从事一个需要使用不再运行的扩展的项目。有问题的扩展是一个用于创建名为 Ninjakit 的浏览器脚本的扩展,据我所知,它不再以任何形式存在(我最初下载它的网站目前完全不存在),所以它被更新的可能性很小与 Safari 12 兼容。因此,我一直在寻找可以用来制作它的解决方法,以便我可以继续使用扩展。我发现的最佳策略是这篇博文中概述的策略:https ://georgegarside.com/blog/macos/install-any-safari-extension-macos-mojave/. 虽然按照该页面上的说明操作让我能够成功制作它,以便我可以继续使用 Ninjakit,但我用 Ninjakit 编写的所有 200 多个脚本都丢失了(请注意,这些脚本完全是为我个人使用而创建的,因此不是随时上传到互联网)。这对我来说是不可接受的。博客文章确实提供了导入扩展程序旧设置的说明,但是当我尝试按照这些说明进行操作时,我遇到了无法逾越的障碍。有一次,说明说要修改文件 ~/Library/Preferences/com.apple.Safari.Extensions.plist。根据说明,“Root”下有可以修改的数据,但是当我在XCode中打开文件时,“Root”完全是空的。

老实说,我可能还有其他更好的扩展程序可以用于在 Safari(甚至可能是其他浏览器,例如 Chrome)中编写脚本,如果不是因为目前的事实,我真的可以放弃 Ninjakit ,这样做意味着从头开始重写我所有的旧脚本,这根本不可行。由于这些脚本最终都只是 Javascript 代码,我认为 Safari 一定是以某种物理形式将它们存储在我的机器上,但我终其一生都无法弄清楚哪个文件将包含这些数据。我搜索了图书馆和时间机器,但没有成功。如果有人知道我如何重新访问我的旧脚本,我们将不胜感激——即使只是能够将 Javascript 代码复制粘贴到不同的扩展程序中,我也会感到满意。

如果它有助于我的机器尚未升级到 OSX Mojave - 它仍在 OSX High Sierra 上。虽然我不知道确切的版本号(我目前正在从另一台机器上发布此信息),但我可以在必要时轻松检索该信息。

4

1 回答 1

0

此时您可能已经解决了这个问题,但对于其他人来说,您的 ninjakit 脚本存储在此文件中(不是文字星号,而是随机字符):

~/Library/Safari/LocalStorage/safari-extension_net.os0x.ninjakit-**********_0.localstorage

我不知道更新到 Mojave 是否会删除此文件,但在这种情况下,您必须从备份中检索它。

于 2019-02-18T10:40:09.927 回答