UIWebView - stringByEvaluatingJavaScriptFromString:
Returns the result of running a script.
Declaration
SWIFT
func stringByEvaluatingJavaScriptFromString(_ script: String) -> String?
OBJECTIVE-C
- (NSString * _Nullable)stringByEvaluatingJavaScriptFromString:(NSString * _Nonnull)script
Parameters
script
The script to run.
Return Value
The result of running script or nil if it fails.
Discussion
JavaScript allocations are limited to 10 MB. The web view raises an exception if you exceed this limit on the total memory allocation for JavaScript.
Availability
Available in iOS 2.0 and later.
获取页面的 url:
获取页面的 title:
获取页面的 HTML 内容:
获取页面的 body 之间的 HTML 内容:
向页面中插入 Javascript 代码并执行:
Returns the result of running a script.
Declaration
SWIFT
func stringByEvaluatingJavaScriptFromString(_ script: String) -> String?
OBJECTIVE-C
- (NSString * _Nullable)stringByEvaluatingJavaScriptFromString:(NSString * _Nonnull)script
Parameters
script
The script to run.
Return Value
The result of running script or nil if it fails.
Discussion
JavaScript allocations are limited to 10 MB. The web view raises an exception if you exceed this limit on the total memory allocation for JavaScript.
Availability
Available in iOS 2.0 and later.
获取页面的 url:
[webView stringByEvaluatingJavaScriptFromString:@"document.location.href"];
获取页面的 title:
[webview stringByEvaluatingJavaScriptFromString:@"document.title"];
获取页面的 HTML 内容:
[webview stringByEvaluatingJavaScriptFromString:@"document.documentElement.innerHTML"];
获取页面的 body 之间的 HTML 内容:
[webview stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML"];
向页面中插入 Javascript 代码并执行:
[webView stringByEvaluatingJavaScriptFromString:@"var script = document.createElement('script');"
"script.type = 'text/javascript';"
"script.text = \"function myFunction() { "
"var field = document.getElementsByName('q')[0];"
"field.value='xxxxxx';"
"document.forms[0].submit();"
"}\";"
"document.getElementsByTagName('head')[0].appendChild(script);"];
[webView stringByEvaluatingJavaScriptFromString:@"myFunction();"];