WKWebView中的Usercript插入

背景

ios端的浏览器没有插入Userscript机制。为了满足我们时常精虫上脑的需求,我们可以自己写一个基于WKWebView的应用来插入我们的Userscript。

方法

  1. 建立WKUserScript。
1
2
3
4
5
6
7
8
9
10
11
var jsSource = ""
let path = Bundle.main.path(forResource: "user_script", ofType: "js")!
if let data = NSData(contentsOfFile: path){
jsSource = String(NSString(data: data as Data, encoding: String.Encoding.utf8.rawValue)!)
}
let userScript1 = WKUserScript(source: jsSource, injectionTime: WKUserScriptInjectionTime.atDocumentEnd, forMainFrameOnly: true)

let controller = WKUserContentController()
controller.addUserScript(userScript1)
let configuration = WKWebViewConfiguration()
configuration.userContentController = controller

上面这段是我抄来的。我们需要将user_script.js放置在app project的根目录下。Swift这命名我特么也是要吐了。

  1. 创建WKWebView的实例
1
self.webView = WKWebView(frame: view.bounds, configuration: configuration)
  1. 调整WKWebView大小来迎合Device样式(这里就不废话了)

  2. load我们需要的插入Userscript的页面

1
2
3
let webUrl = URL(string: "https://某小电影网站")!
let myRequest = URLRequest(url: webUrl)
webView.load(myRequest)

快速生成icon

这个工具好评家鹅。

直接把png放到app的根目录然后app-icon generate就行了。

后话

飞速地写好了。然而并不打算公开。