xamarin - Xamarin Forms:IOS 上的 Webview 自动打开 IFrame
问题描述
我的问题是我在 webview 中打开我的网站,它有 twitter 和 youtube 等小部件,它们会自动打开而无需点击它。我已尝试实施此解决方案。但是 webview 页面不再打开。不幸的是,我对自定义渲染器了解不多。谢谢你的帮助
这就是我的自定义渲染器的样子:
[assembly: ExportRenderer(typeof(CustomWebView),
typeof(CustomWebViewRenderer))]
namespace dApp.iOS
{
public class CustomWebViewRenderer : WebViewRenderer
{
#region Properties
public CustomWebView CustomWebViewItem { get { return Element as CustomWebView; } }
#endregion
protected override void OnElementChanged(VisualElementChangedEventArgs e)
{
base.OnElementChanged(e);
if (e.OldElement == null)
{
Delegate = new CustomWebViewDelegate(); //Assigning the delegate
}
}
}
internal class CustomWebViewDelegate : UIWebViewDelegate
{
public override bool ShouldStartLoad(UIWebView webView, NSUrlRequest request, UIWebViewNavigationType navigationType)
{
if (navigationType == UIWebViewNavigationType.LinkClicked)
{
//To prevent navigation when a link is click, return false
return false;
}
return true;
}
}
}
解决方案
推荐阅读
- python - 如何向现有 JSON 字典添加变量和更新值?
- php - 如何将 HTML 表单数据从非本地主机客户端发送到服务器?
- javascript - 获取 JS 中两个日期之间重复的周末时段数
- compilation - 使用 zig 编译器作为库
- python - 如何使我的第一个数组大小与我的第二个数组相同?
- javascript - MetaMask 以太龙头
- odoo - 如何解决 Odoo 中的排序问题?
- python - 在 Python 中保存从 POST 请求收到的文件
- jenkins - 如何通过来自 BitBucket 的拉取请求让 Jenkins 构建开发、主控和任何其他分支
- docker - Windows10:错误:peer0.org1.example.com 无法为服务 peer0.org1.example.com 创建容器:mkdir C:\Program Files\Git\var:访问被拒绝