在WKWebView中,我们可以使用webkit消息处理程序调用ObjectiveC/swift代码,例如: webkit.messageHandlers.<handler>.pushMessage(message)
它适用于没有参数的简单javascript函数.但;
我已经构建了一个包含WKWebView的应用程序,并且Web视图加载的网站支持多种语言.如何更改Accept-LanguageWKWebView或其他HTTP标头中的标头?
我正在尝试通过覆盖XMLHttpRequest的send函数来记录(以及稍后修改)XMLHttpRequest发送到服务器的数据.我的函数将数据正确记录到控制台,但请求没有完成,因此浏览器会无限期地等待响应.任何想法代码有什么问题?
XMLHttpRequest.prototype.realSend = XMLHttpRequest.prototype.send;
var newSend = function(vData) { console.log("data: " + vData); realSend(vData); };
XMLHttpRequest.prototype.send = newSend;Run Code Online (Sandbox Code Playgroud) 嗨,我知道这似乎是一个超级简单的问题,但我想将此 JS 添加到我的 WebView:
<script type='text/javascript' src='https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/MathJax.js?config=default&ver=1.3.8'></script>
Run Code Online (Sandbox Code Playgroud)
现在显然我知道这是 HTML,但我不确定为了使用 JS 源代码应该在“evaluateJavaScript”中放入什么。对不起,如果这不是很清楚 - 我是 Swift 和 JS 的新手。谢谢!
我的快速代码:
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
self.webView.evaluateJavaScript("<script type='text/javascript' src='https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/MathJax.js?config=default&ver=1.3.8'></script>") { (nil, error) in
print(error)
}
}
Run Code Online (Sandbox Code Playgroud)