I try to use some javascript on my WebView with the new
stringByEvaluatingJavaScriptFromString
function
I m not quiet familiar with the syntax so i tried
func stringByEvaluatingJavaScriptFromString( "document.documentElement.style.webkitUserSelect='none'": String) -> String?
as shown here https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIWebView_Class/index.html#//apple_ref/occ/instm/UIWebView/stringByEvaluatingJavaScriptFromString: but i get a error that "Expected '.' separator"
The method you are trying to call is prototyped as the following:
func stringByEvaluatingJavaScriptFromString(_ script: String) -> String?
This means :
String
as single parameterString
(String?
)You need to have an instance of UIWebView
to use it:
let result = webView.stringByEvaluatingJavaScriptFromString("document.documentElement.style.webkitUserSelect='none'")
Because the return type is optional, it needs to be unwrapped before you can use it.
But be careful, it may not have a value (i.e. it may be equal to nil
) and unwrapping nil values leads to runtime crashes.
So you need to check for that before you can use the returned string:
if let returnedString = result {
println("the result is \(returnedString)")
}
This means: If result
is not nil
then unwrap it and assign it to a new constant called returnedString
.
Additionally, you can wrap it together with:
let script = "document.documentElement.style.webkitUserSelect='none'"
if let returnedString = webView.stringByEvaluatingJavaScriptFromString(script) {
println("the result is \(returnedString)")
}
Hope this makes sense to you.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With