wkwebview 相关问题

WKWebView对象显示交互式Web内容。它由Apple的WebKit提供,可用于macOS,iOS和tvOS。

Swift WKUserContentController 和 WKScriptMessageHandler 设置不正确

您好,我正在使用 WKUserContentController 和 WKScriptMessageHandler 将消息从我的嵌入 html 发送到 swift,以便更改 bool 的值。当我运行 onReady 块下面的代码时

回答 1 投票 0

MAUI Webview 无法在 IOS 上打开本地页面

我正在尝试让我的应用程序也可以在 IOS 上使用,但我似乎遇到了 webView 实现的问题。我有以下页面: 新闻文章.xaml 我正在尝试让我的应用程序也可以在 IOS 上使用,但我似乎遇到了 webView 实现的问题。我有以下页面: 新闻文章.xaml <ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:testApp="clr-namespace:TestApp" Loaded="PageLoaded" x:DataType="testApp:NewsArticleViewModel" x:Class="TestApp.NewsArticle"> <Grid x:Name="NewsScrollView"> <WebView IsVisible="true" Navigating="WebView_Navigating"> <WebView.Source> <HtmlWebViewSource Html="{Binding ArticleContent}"/> </WebView.Source> </WebView> </Grid> </ContentPage> 后面有以下代码: public partial class NewsArticle : ContentPage { public readonly NewsArticleViewModel ViewModel; public NewsArticle(NewsArticleViewModel viewModel) { ViewModel = viewModel; BindingContext = viewModel; InitializeComponent(); if (DeviceInfo.Platform == DevicePlatform.WinUI) { NewsScrollView.MaximumHeightRequest = 750; } else { NewsScrollView.MaximumHeightRequest = DeviceDisplay.MainDisplayInfo.Height / DeviceDisplay.MainDisplayInfo.Density * 0.6; } } protected void PageLoaded(object sender, EventArgs e) { ((NewsArticleViewModel)ViewModel).GetSpecificNews(); } private void WebView_Navigating(object sender, WebNavigatingEventArgs e) { e.Cancel = true; ((NewsArticleViewModel)ViewModel).NavigateUsingDeviceBrowser(e.Url); } } 及其视图模型: using CommunityToolkit.Mvvm.ComponentModel; using System.Text.RegularExpressions; namespace TestApp { public partial class NewsArticleViewModel : ObservableObject { [ObservableProperty] private string _articleContent; [ObservableProperty] private string _article; public NewsArticleViewModel() { } public void GetSpecificNews() { Article = "<p></p><p>What is Lorem Ipsum?<span></span></p><p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p>"; if (DeviceInfo.Current.Platform == DevicePlatform.WinUI) ArticleContent = "Not Available on windows"; else { var appTheme = Application.Current.RequestedTheme; var textColor = appTheme == AppTheme.Light ? "#000000" : "#FBF9F9"; ArticleContent = $@"<HTML><head><meta name='viewport' content='width=device-width,initial-scale=1,maximum-scale=1' /><style>p{{color:{textColor}}} a{{color:#408F70}} ul li span{{color:{textColor} !important}} ul li a{{color:#408F70 !important}} img{{display: inline;height: auto;max-width: 100%;}} video{{display: inline;height: auto;max-width: 100%; allowfullscreen: true;}}</style></head><BODY>{ToBasicHtml(Article)}</BODY></HTML>"; } } public string ToBasicHtml(string url) { if (string.IsNullOrEmpty(url)) return ""; return Regex.Replace(url, "<img(.*?)>", "<img $1 />"); } public async void NavigateUsingDeviceBrowser(string url) { try { var uri = new Uri(url); await Browser.Default.OpenAsync(uri, BrowserLaunchMode.External); } catch (Exception ex) { return; } } } } 在 Android 上,内容加载正确,并且页面根据本地 HTML 显示,但在 IOS 上,我在屏幕上显示的唯一内容是空白页面。我尝试实现自定义 IOS 处理程序,但它对我不起作用。我该如何解决这个问题并显示页面? 我可以在 iOS 上重现您的问题。该问题仅在 iOS 上调用 Navigating="WebView_Navigating" 时存在。由于您只加载本地 html 页面,要修复它,您可以将其从项目中删除,如下所示: <Grid x:Name="NewsScrollView"> <WebView IsVisible="true" > <WebView.Source> <HtmlWebViewSource Html="{Binding ArticleContent}"/> </WebView.Source> </WebView> </Grid> 输出:

回答 1 投票 0

WKWebView 在 iOS 9 中使用 swift 加载 HTML 内容太慢

我一直在尝试将 WKWebView 作为 UIViewController 中另一个 webview 的子视图集成。我已经能够加载内容并与 swift 和 JavaScript 正确通信。然而...

回答 2 投票 0

WKWebView 播放 YouTube 视频停止摄像头和麦克风输入

我正在使用 Swift 创建一个 iOS 本机应用程序。 该应用程序有一个 UIView,其中包含 WKWebVeiw 的前 50%,它加载 YouTube 视频 URL(我还尝试了 Google 的 youtube_ios_player_helper

回答 1 投票 0

如何启用 WKURLSchemeHandler 在主线程之外执行工作?

我正在尝试让 WKURLSchemeHandler 在 WebView 使用自定义 url 方案时提供视频文件。我意识到 didReceive(data) 可以被多次调用,所以我已经弄清楚如何 loa...

回答 2 投票 0

使用 wkWebView 打开 URL 和深层链接,但不通过 safari

这是关于wkWebview的。我想在我的应用程序中使用 wkWebView 来完成浏览互联网的整个操作,当涉及到深层链接时,我希望它检查手机中的应用程序并打开它(如果是

回答 2 投票 0

禁用 WKWebView 打开链接以重定向到我的 iPhone 上安装的应用程序

当我在 google 搜索并点击 Etsy.com 查找 exmaple 时,WKWebView 会将我重定向到 iPhone 上安装的 Etsy 应用程序。 我怎样才能禁用这种行为?我希望 WKWebView 将我重定向到 etsy.com m...

回答 4 投票 0

WKWebView.evaluateJavaScript 函数不起作用

我正在尝试进行一项调查,其中通过 .evaoluteJavaScript 手动单击按钮。每当收到传入消息时就会调用 Javascript 函数(我稍微缩短了它)。

回答 1 投票 0

WKWEbView 加载 URL 并评估

我想访问 javascript 文件存储属性。我怎样才能做到这一点? 我想获取用户 ID。我还想调用一个函数,将推送令牌设置到服务器。有什么建议吗? 例如: 夫...

回答 1 投票 0

当用两根手指点击妙控键盘的触控板上时,如何在 iPadOS 16 Web 视图上禁用此菜单显示

谢谢(https://i.stack.imgur.com/Nz2fD.png) 我尝试实现WKUIDelegate的这个方法,但是不起作用 @可用(iOS 13.0,*) 公共 func webView(_ webView: WKWebView,

回答 1 投票 0

获取断言时出错,那是什么?

我正在调试这个 iPhone 应用程序,它基本上是一个票务管理器,在 webkit 视图中运行,从网站加载内容。有时会出现一个电话图标,您单击它即可...

回答 3 投票 0

浏览器还在 ios webview 中请求相机权限

我有一个 Xamarin.Forms Prism 应用程序。它使用ios项目中的WKWebView来显示网页。在该页面中,除了来自iOS的权限之外,来自浏览器的权限弹出是...

回答 2 投票 0

iOS WKWebview:始终允许相机权限

从 iOS 13 开始,Apple 允许我们始终记住 iOS Safari 中的允许相机权限标志。 (参考这个答案)。 iOS Twitter PWA 也有这个功能。 但无论如何都有吗

回答 3 投票 0

使用 WKWebview 从 HTML 模板生成 PDF

我们在现有应用程序中具有功能,必须生成 pdf,并且应该可以在 A4 中打印。 PDF差不多有8到10页 我已经应用了以下解决方案: 在

回答 0 投票 0

WKWebView 中的 Google disallowed_useragent

我尝试在我的应用程序中使用 WebView 页面,但在尝试登录 google 时出现错误。我知道谷歌需要一个已知的操作系统浏览器才能登录他们的服务,但有一些方法...

回答 2 投票 0

WKWebView 不显示打印页面

导入UIKit 导入WebKit ViewController 类:UIViewController、WKUIDelegate{ @IBOutlet 弱var webVw:WKWebView! 覆盖 func viewDidLoad() { super.viewDidLoad() ...

回答 1 投票 0

WKWebView显示内容时,会呈白色约1~2秒

WKWebView显示内容时,会呈白色约1~2秒。不是内存问题,我使用 [self loadHTMLString:string baseURL:baseURL];显示HTML内容,但每次需要等待1~2次

回答 2 投票 0

尝试使用 wkwebview 下载文件时出现didFailProvisionalLoadForFrame

我有一个 WKWebView,在我的页面上有一个按钮,它会生成一个 pdf 文件供下载。因此,当我在任何浏览器中单击它时,它会立即开始下载。我想要那个

回答 2 投票 0

为什么WKWebView不应该加载缓存内容?

我遇到了奇怪的 WKWebView 行为,我已经没有想法了。 有时,假设 50 次加载中有 1 次,WKWebView 不会执行新请求,而是加载缓存的请求。 网址重新...

回答 0 投票 0

WKWebView 不加载本地主机在 iOS 上提供的 URL

我有一个 iOS 应用程序,它试图在线程中运行 HTTP Web 服务器,其 UI 由指向该 Web 服务器的单个 WKWebView 组成(即“Electron”风格的应用程序)。

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.