我希望当我在Safari中加载页面时,可以执行一些个人开发的JavaScript代码。似乎Safari的addblock做到了这一点。有人知道怎么做吗?
Safari是不可扩展的。它没有附加的框架。尽管苹果的Webkit和Safari开发者不鼓励用户使用它们,称它们为“二进制黑客”,但还是有adblock和其他插件可供选择。尽管其中一些插件使用了InputManager,但在任何地方都没有文档记录,至少不是因为人们在Safari中使用它来加载脚本。我想我将不得不向后工程,看看addblock是如何做到的,但在我这样做之前,我想我应该在这里打听一下。有人知道吗?
发布于 2009-05-10 19:36:35
输入管理器是一种将任意代码注入另一个应用程序运行时的常用方法。一旦你到了那里,你就必须对应用程序本身进行足够的逆向工程,以找出如何获得你想要的行为;通常这涉及到用方法替换你正在攻击的应用程序的一部分。它没有文档,因为没有API可供记录,但您可以了解各个部分(如何编写一般的输入管理器,Objective C中的方法swizzling如何工作,如何使用类转储等工具),然后将它们放在一起。
不过,您所描述的听起来像是Greasemonkey,而且已经有一两个hack可以在Safari中实现类似Greasemonkey的行为。我建议先看看它们中是否有一个满足了您的需求。
https://stackoverflow.com/questions/844765
复制相似问题