共用方式為


WKWebView.EvaluateJavaScriptAsync 方法

定義

多載

EvaluateJavaScriptAsync(NSString)

評估指定的 JavaScript 字串。

EvaluateJavaScriptAsync(String)

評估指定的 JavaScript 字串。

EvaluateJavaScriptAsync(NSString)

評估指定的 JavaScript 字串。

public virtual System.Threading.Tasks.Task<Foundation.NSObject> EvaluateJavaScriptAsync (Foundation.NSString javascript);
abstract member EvaluateJavaScriptAsync : Foundation.NSString -> System.Threading.Tasks.Task<Foundation.NSObject>
override this.EvaluateJavaScriptAsync : Foundation.NSString -> System.Threading.Tasks.Task<Foundation.NSObject>

參數

javascript
NSString

要評估的 JavaScript 字串

傳回

表示非同步 EvaluateJavaScript 作業的工作。 TResult 參數的值是 WKJavascriptEvaluationResult

備註

如果未成功評估 JavaScript,這個方法將會擲 NSErrorException 回 。

var config = new WKWebViewConfiguration();
var wk = new WKWebView(UIScreen.MainScreen.Bounds, config);
var js = (NSString) "document.getElementById('foo').innerHTML = 'bar'";
var result = await wk.EvaluateJavaScriptAsync(js); //== "bar"

EvaluateJavaScriptAsync 方法適合與 C# 非同步搭配使用,方法是將控制項傳回給代表作業之 Task 的呼叫端。

系統會在評估之後呼叫 completionHandler 。 處理常式的引數包含 NSObject 評估的結果,如果 NSError 發生錯誤,則為 。 如果發生錯誤,自 result 變數會是 null 。 如果未發生錯誤,則 error 引數會是 null

var config = new WKWebViewConfiguration();
var wk = new WKWebView(UIScreen.MainScreen.Bounds, config);
var js = (NSString) "document.getElementById('foo').innerHTML = 'bar'";
WKJavascriptEvaluationResult handler = (NSObject result, NSError err) => { 
  if(err != null)
  {
    System.Console.WriteLine(err);
  }
  if(result != null)
  {
     System.Console.WriteLine(result);
  }
};
wk.EvaluateJavaScript(js, handler);

適用於

EvaluateJavaScriptAsync(String)

評估指定的 JavaScript 字串。

public System.Threading.Tasks.Task<Foundation.NSObject> EvaluateJavaScriptAsync (string javascript);
member this.EvaluateJavaScriptAsync : string -> System.Threading.Tasks.Task<Foundation.NSObject>

參數

javascript
String

格式正確的 JavaScript 運算式。

傳回

表示非同步 EvaluateJavaScript 作業的工作。 TResult 會保存評估的結果。

備註

如果未成功評估 JavaScript,這個方法將會擲 NSErrorException 回 。

var config = new WKWebViewConfiguration();
var wk = new WKWebView(UIScreen.MainScreen.Bounds, config);
var js = (NSString) "document.getElementById('foo').innerHTML = 'bar'";
var result = await wk.EvaluateJavaScriptAsync(js); //== "bar"

適用於