正在检索Safari扩展创建的数据



最近Safari升级到Safari 12,所有未通过扩展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。根据指令,在"根"下有可以修改的数据,但当我在XCode中打开文件时,"根"完全为空。

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

如果这对我的机器有帮助的话,它还没有升级到OSX莫哈韦——它仍然在OSX High Sierra上。虽然我不知道确切的版本号(我目前在另一台机器上发布(,但如果需要,我可以很容易地检索到这些信息。

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

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

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

最新更新