Ich versuche, einige Webseitenelemente wie sidebar auszuschließen, indem ich eine neue CSS-Regel in Javascript einfüge, erstellte ich eine neue Javascript-Datei in xcode mit dem neuen style-Tag, um die Seitenleiste auszublenden dass ich in Google chrome Entwickler-Tool überprüft und mit diesem Code beendet:Wie man ein Javascript in WKWebView in Swift 3 injiziert
var styleTag = document.createElement("style");
styleTag.textContent = '.sidebar {display:none;}';
document.documentElement.appendChild(styleTag);
und erstellt WKWebViewConfiguration Objekt, das einige Eigenschaften besitzt, die die Erstellung der Brücke zwischen nativen Code und den gehosteten Web-Inhalten wie here erlauben aber noch nicht Dieses Skript wird ausgeführt.
Dies ist meine komplette Viewcontroller-Code:
import UIKit
import WebKit
class scrapedBrowser: UIViewController, WKNavigationDelegate {
var webView: WKWebView!
var progressView: UIProgressView!
override func loadView() {
webView = WKWebView()
webView.navigationDelegate = self
view = webView
}
required init?(coder aDecoder: NSCoder) {
let config = WKWebViewConfiguration()
let scriptURL = Bundle.main.path(forResource: "hideSections", ofType: "js")
let scriptContent:String?
do {
scriptContent = try String(contentsOfFile: scriptURL!, encoding: String.Encoding.utf8)
}
catch _ {
scriptContent = nil
}
let script = WKUserScript(source: scriptContent!, injectionTime: .atDocumentStart, forMainFrameOnly: true)
config.userContentController.addUserScript(script)
super.init(coder: aDecoder)
self.webView?.navigationDelegate = self
}
override func viewDidLoad() {
super.viewDidLoad()
let url = URL(string: "http://yourwebsite.com/")!
let request = URLRequest(url: url)
webView.load(request)
webView.allowsBackForwardNavigationGestures = true
}
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
title = webView.title
}
}
Es gibt ein paar Verweise auf JSContext, die mit Ihrem Nachher helfen sollten. https://developer.apple.com/reference/javascriptcore/jscontext Und es gibt eine schnelle 3 Thread auf [hier] (https://stackoverflow.com/a/40730365/4891259) –