Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xamarin表单webview Eval不调用javascript_Javascript_Xamarin_Webview_Xamarin.forms - Fatal编程技术网

Xamarin表单webview Eval不调用javascript

Xamarin表单webview Eval不调用javascript,javascript,xamarin,webview,xamarin.forms,Javascript,Xamarin,Webview,Xamarin.forms,我使用以下代码将页面加载到MyWebView: private void DisplayLocalPage(string filename) { var html = new HtmlWebViewSource(); html.BaseUrl = DependencyService.Get<IBaseUrl>().Get(); html.Html = ReadFile(filename); MyWebView.Source = html; My

我使用以下代码将页面加载到
MyWebView

private void DisplayLocalPage(string filename)
{
    var html = new HtmlWebViewSource();
    html.BaseUrl = DependencyService.Get<IBaseUrl>().Get();
    html.Html = ReadFile(filename);
    MyWebView.Source = html;
    MyWebView.Eval("alert(200)");
}
private void DisplayLocalPage(字符串文件名)
{
var html=新的HtmlWebViewSource();
html.BaseUrl=DependencyService.Get().Get();
html.html=ReadFile(文件名);
MyWebView.Source=html;
MyWebView.Eval(“警报(200)”;
}

页面呈现良好-所有脚本也运行,但未触发此警报,可能的原因是什么?

我想我已经找到了它可能不起作用的原因。在WebView完全初始化或呈现网页之前会触发评估,因此会触发脚本,但不会产生任何效果。

请尝试以下操作:

webView.Navigated += (o, s) => {
     webView.Eval("alert('text')");
     };

您应该允许运行脚本的权限。如果你把它写在加载页面的JS的document ready事件中,它能工作吗?我把这个警告放在onload of body中,它能工作。查看这个链接:等等,根据这个链接:没有必要创建自定义渲染器等等,为什么呢?只有当你需要一些高级选项时才需要它,还有一个由XLabs扩展的WebView。除此之外,这段代码很难进一步解释helpful@happymacarts解释就在我的回答中,@Kamil Smrčka和cuddlecheek都是正确的。JavaScript没有启动的原因是页面尚未完成加载。文档()中对导航事件的描述是:“导航完成后引发的事件”。因此,在上面的回答中,Kamil订阅了导航事件(在本例中为page load complete事件),并在其触发后执行JavaScript。@JohnLay这对我来说仍然不起作用。不显示任何警报。