![](/img/trans.png)
[英]How to show an Alert PopUp from an Alert PopUp in Xamarin android
[英]How to display alert function from xamarin android button in webview
為您的 webview 實施 webviewclient object 並像這樣在
OnPageFinished
中調用webview.EvaluateJavascript
。
//create an internal webviewclient class
internal class webViewClient : WebViewClient
{
public override void OnPageStarted(WebView view, string url, Bitmap favicon)
{
base.OnPageStarted(view, url, favicon);
}
public override void OnPageFinished(WebView view, string url)
{
base.OnPageFinished(view, url);
//define the javascript code you wish to run
string script = "javascript:alert('Hi');";
//perform check and then call
if (Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.Kitkat)
{
view.EvaluateJavascript(script, null);
}
else
{
view.LoadUrl(script);
}
}
}
然后在OnCreate
或buttonclick evet handler
中的webview
代碼中執行此操作
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.webview);
mywebview = FindViewById<WebView>(Resource.Id.mywebiview);
//This webviewchromeclient is very important
mywebview.SetWebChromeClient(new WebChromeClient());
WebSettings webSettings = mywebview.Settings;
//set javascript enabled for your webview
webSettings.JavaScriptEnabled = true;
webSettings.JavaScriptCanOpenWindowsAutomatically = true;
//set the object we defined above as the webviewclient for your webview
mywebview.SetWebViewClient(new webViewClient());
}
我試過了,但不行 =>webView.EvaluateJavascript("javascript: alert('Hi');", null);
您可以嘗試通過webview1.SetWebChromeClient(new WebChromeClient());
使用 WebChromeClient()
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
Xamarin.Essentials.Platform.Init(this, savedInstanceState);
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.activity_main);
webview1 = FindViewById<WebView>(Resource.Id.webView1);
button1 = FindViewById<Button>(Resource.Id.button1);
button1.Click += Button1_Click;
WebSettings settings = webview1.Settings;
settings.JavaScriptEnabled = true;
webview1.SetWebChromeClient(new WebChromeClient());
webview1.LoadUrl("file:///android_asset/login.html");
}
private void Button1_Click(object sender, System.EventArgs e)
{
//webview1.EvaluateJavascript("javascript: check();", new EvaluateBack());
webview1.EvaluateJavascript("javascript: alert('Hi');", null);
}
截圖:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.