XLabs.Forms.Controls.HybridWebView 不显示 html/js 警报

XLabs.Forms.Controls.HybridWebView does not show html/js Alert

我正在将 hybridWebView 实现到我们的 xamarin 表单应用程序中。我遇到的问题是 hybridWebView 不显示来自 webView 中网站的警报消息。我刚刚得到一个简单的 html 页面,其中包含以下 js 函数:

function testAlert() {
    alert('tester');
}

当我使用 CallJsFunction 调用它时,没有任何反应。我知道它正在触发,因为如果我在函数中放入其他内容来更新页面上的 html,那么它就会正常触发。

是否需要设置任何属性才能在视图中显示警报。我知道内置的 Xamarin 表单 webview 可以很好地显示警报。

我已经创建了一个 sample on GitHub,当使用 HybridWebView 用于 XLabs 时,它基本上以两种方式完成您想要的:

  1. 正在执行 CallJsFunction() 方法(绑定到 Button 看到的 hereClicked 事件)
  2. 利用 InjectJavaScript() 方法(绑定到 Button 看到的 hereClicked 事件)
  3. ContentPage 覆盖 OnAppearing,然后调用 LoadFromContent() with a simple .html page are both stored locally for iOS and Android

请注意,由于文件系统不同,我必须创建一个名为 FilePath to be able to retrieve the path to the .html file for both Android and iOS 的依赖项。

此方法适用于 Android,但不适用于 iOS。我和你一样,没有看到任何警报。出于这个原因,我在 Github Issue Tracker for XLabs 上创建了一个问题。我知道现在不多,但希望他们能找到解决方案。如果没有,应该可以简单地将 HybridWebView 的自定义渲染器更改为 iOS,从而解决问题。