尝试使用 WebView 上的 JavaScript 按钮调用 C# 代码
Trying to call C# code with a JavaScript button on a WebView
请注意,我特别谈论在单击我的网络视图中的 Javascript 按钮后调用 C#,在本例中为 HybridWebView
.
我遵循了很多我看到的提示和想法,例如 XLabs 提供的示例和 Xamarin.Forms 指南中关于 HybridWebViews
的文档。
我有以下结构:
Hybridwebview
Class 方法 RegisterAction
和 InvokeAction
;
Page
使用我的 HybridWebView
;
我的每个平台中的自定义渲染器正在注入 Javascript 我想要的网络视图。
我认为问题出在渲染器中的 InjectJS
方法中。它使用 LoadUrl
在 WebView
中注入 javascript 也就是 "deleting" 我的 WebView
并将其替换为具有 Javascript 的按钮函数。
这是 Android 渲染器的代码!
左边是这创建的结果,右边是我期待的结果
问题是 div
我创建的开始时没有定义宽度和高度值,因此显示的内容已隐藏。
添加 Android.Webkit.WebView.SetWebContentsDebuggingEnabled(true);
然后在设备和 google chrome 工具上调试后修复
在结果上设置高度和宽度救了我。
https://developer.xamarin.com/guides/xamarin-forms/custom-renderer/hybridwebview/ 的库存 HybridWebView 示例存在 "no show" 问题。
如果我 运行 模拟器 运行 没问题。
如果它 运行 是物理设备,则不会显示任何内容。改变 index.html
<p id="result">Result: </p>
至
<div id="result" style="height:400px;width:400px;">Result:</div>
显示输出。
请注意,我特别谈论在单击我的网络视图中的 Javascript 按钮后调用 C#,在本例中为 HybridWebView
.
我遵循了很多我看到的提示和想法,例如 XLabs 提供的示例和 Xamarin.Forms 指南中关于 HybridWebViews
的文档。
我有以下结构:
Hybridwebview
Class 方法 RegisterAction
和 InvokeAction
;
Page
使用我的 HybridWebView
;
我的每个平台中的自定义渲染器正在注入 Javascript 我想要的网络视图。
我认为问题出在渲染器中的 InjectJS
方法中。它使用 LoadUrl
在 WebView
中注入 javascript 也就是 "deleting" 我的 WebView
并将其替换为具有 Javascript 的按钮函数。
这是 Android 渲染器的代码!
左边是这创建的结果,右边是我期待的结果
问题是 div
我创建的开始时没有定义宽度和高度值,因此显示的内容已隐藏。
添加 Android.Webkit.WebView.SetWebContentsDebuggingEnabled(true);
然后在设备和 google chrome 工具上调试后修复
在结果上设置高度和宽度救了我。
https://developer.xamarin.com/guides/xamarin-forms/custom-renderer/hybridwebview/ 的库存 HybridWebView 示例存在 "no show" 问题。
如果我 运行 模拟器 运行 没问题。
如果它 运行 是物理设备,则不会显示任何内容。改变 index.html
<p id="result">Result: </p>
至
<div id="result" style="height:400px;width:400px;">Result:</div>
显示输出。