gpt4 book ai didi

javascript - Swift stringByEvaluatingJavaScriptFromString

转载 作者:IT王子 更新时间:2023-10-29 05:50:15 25 4
gpt4 key购买 nike

我尝试在我的 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/

25 4 0
文章推荐: javascript - 如何在 javascript 中获取上一小时、上个月和昨天?
文章推荐: javascript - angularjs:在ng-switch中从 Controller 更改父范围
文章推荐: javascript - 如何对