【问题标题】:XLabs.Forms.Controls.HybridWebView does not show html/js AlertXLabs.Forms.Controls.HybridWebView 不显示 html/js 警报
【发布时间】:2017-01-08 23:35:27
【问题描述】:

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

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

当我使用 CallJsFunction 调用它时,什么也没有发生。我知道它正在触发,因为如果我在函数中添加其他内容来更新页面上的 html,那么它就会触发。

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

【问题讨论】:

  • 能否请您添加代码以在 XLabs 中显示您的 HybridWebView?另外,您在 iOS 和 Android 上都遇到过这个问题吗?

标签: javascript xamarin xamarin.forms xlabs xamarin.forms.labs


【解决方案1】:

我创建了一个sample on GitHub,在将HybridWebView 用于 XLabs 时,它基本上可以通过两种方式完成您想要的操作:

  1. 执行CallJsFunction() 方法(绑定到Button 看到hereClicked 事件)
  2. 利用InjectJavaScript() 方法(绑定到Button 看到hereClicked 事件)
  3. ContentPage 覆盖OnAppearing,然后使用简单的.html 页面调用LoadFromContent() 都在本地存储iOSAndroid

作为说明,我必须创建一个名为 FilePath 的依赖项,以便能够为 AndroidiOS 检索到 .html 文件的路径,因为文件系统不同。

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

【讨论】:

    猜你喜欢
    • 2013-01-28
    • 1970-01-01
    • 2016-06-03
    • 2011-11-17
    • 1970-01-01
    • 2018-09-13
    • 2021-10-19
    • 2011-11-13
    • 2015-07-31
    相关资源
    最近更新 更多