![](/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.