我在我的应用程序中使用Web视图,而不是打开Safari浏览器实例,所以我注意到Safari扩展不起作用。在Cocoa应用程序中使用自定义Web视图时是否可以启用此功能?
我需要使用Safari扩展的原因是将javascript注入到某个时刻加载的任何网页,所以如果有另一种方法不使用扩展,请欢迎任何建议或样本。
答案 0 :(得分:1)
在网络视图中无法使用Safari扩展程序。
如果您的脚本不是太大,如何将其格式化为“javascript:”书签并将Web视图的位置设置为它?
[ 编辑:下面添加的内容是为了回应提问者的“更多关于该技术”的请求。 ]
假设您要将页面的背景颜色更改为黄色,将所有文本更改为红色。这样做的javascript就像:
document.body.style.backgroundColor = "yellow";
document.body.style.color = "red !important";
要将脚本转换为书签,您只需:
因此,示例将成为:
javascript:(function(){document.body.style.backgroundColor%3D%22yellow%22%3B%0Adocument.body.style.color%3D%22red%20!important%22%3B%0A}());
然后,您可以将webview的window.location
设置为该字符串以“运行”书签。
Here is a page带有自动脚本到bookmarklet转换器似乎可以正常工作。