呼叫从SWIFT 3
问题描述:
javascript函数我怎样才能从迅速到JavaScript调用此方法如下呼叫从SWIFT 3
function downloadComplete(status,filename){
alert ("Send Status and file name "+status +" "+filename);
$('#status').val (status);
$('#filename').val(filename);
}
我能够通过
self.webView?.stringByEvaluatingJavaScriptFromString
when we get data from Javascript by func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
if(message.name == "iMessageNameClicked") {
print(message)
debugPrint(message)
print("iMessageBodyClicked: \(message.body)")
}
}
发送数据,请让我知道如何处理?
在此先感谢
答
按我的知识,我们可以实现的JavaScript通过以下步骤,迅速调用。步骤1:在HTML文件的OnloadFunction上声明两个变量,如下例所示。
var status = %@;
var filename = %@;
第一步:在斯威夫特类让你的HTML内容为一个字符串,通过下面的代码设置你的VALU:
let localfilePath = Bundle.main.url(forResource: "index", withExtension: "html")
do {
var myHTMLString = try NSString(contentsOf: localfilePath!, encoding: String.Encoding.utf8.rawValue)
myHTMLString = NSString(format: myHTMLString, "'\(**YOURVALUE!**)'" , "'\(**YOURVALUE!**)'")
webView.loadHTMLString(myHTMLString as String, baseURL: Bundle.main.url(forResource: "ads", withExtension: "js")) //Add your js file here
}
catch let error as NSError
{
print("Error: \(error.description)")
}
希望这将帮助你。如果任何让我know.Thanks
答
我正在使用像这样的WKWebView
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
let str = "$('body').attr('data-uid','\(String(uid))');$('body').attr('data-pid','\(String(memberTypeId))');$('body').attr('data-baseurl','\(DataProvider.sharedInstance.baseUrl)');"
self.webView.evaluateJavaScript(str) { (id, error) in
print(error)
}
}