我尝试在我的 WebView 上使用一些 javascript 和新的
stringByEvaluatingJavaScriptFromString 函数
我不太熟悉语法,所以我尝试了
func stringByEvaluatingJavaScriptFromString( "document.documentElement.style.webkitUserSelect='none'": String) -> String?
如图所示https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIWebView_Class/index.html#//apple_ref/occ/instm/UIWebView/stringByEvaluatingJavaScriptFromString :但我得到一个错误“预期'。'分隔符”
最佳答案
您尝试调用的方法原型(prototype)如下:
func stringByEvaluatingJavaScriptFromString(_ script: String) -> String?
这意味着:
String作为单个参数String (String?)您需要有一个 UIWebView 实例才能使用它:
let result = webView.stringByEvaluatingJavaScriptFromString("document.documentElement.style.webkitUserSelect='none'")
因为返回类型是optional , 需要解包才能使用。
但要小心,它可能没有值(即它可能等于 nil)并且解包 nil 值会导致运行时崩溃。
因此在使用返回的字符串之前需要进行检查:
if let returnedString = result {
println("the result is \(returnedString)")
}
这意味着:如果result 不是nil,那么将其解包并将其分配给一个名为returnedString 的新常量。
此外,您可以将其包装在一起:
let script = "document.documentElement.style.webkitUserSelect='none'"
if let returnedString = webView.stringByEvaluatingJavaScriptFromString(script) {
println("the result is \(returnedString)")
}
希望这对您有意义。
关于javascript - Swift stringByEvaluatingJavaScriptFromString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26056132/