检索Safari扩展程序创建的数据

时间:2018-10-29 01:17:36

标签: javascript macos safari ninjakit

因此,最近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进行修改。根据说明,有一些数据可以在“ Root”下进行修改,但是当我在XCode中打开文件时,“ Root”完全为空。

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

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

1 个答案:

答案 0 :(得分:0)

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

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

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