wkwebview 相关问题

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

在 macOS 中使用 WKWebView 加载 URL

我在 ViewController 中使用以下代码创建了一个新的 mac 应用程序项目。 进口可可 导入WebKit 类 ViewController: NSViewController { var loginWebView: WKWebView! 覆盖

回答 2 投票 0

使用 WkWebView 在 Swift IOS 应用程序中网页加载两次如下

我正在开发一个 swift ios 应用程序,它基本上是网页的 webview。除此之外,它还有一个导航项作为其顶级项。它根据功能工作,但每当我加载 p...

回答 1 投票 0

在 Swift 中从 WKWebView 打印会忽略背景

我尝试使用以下代码将html代码打印到pdf: 类 PDFPrinter: NSObject, WKNavigationDelegate { 静态变量共享 = PDFPrinter() 让 webView = WKWebView() 私人变量

回答 1 投票 0

Swift WkMessageHandler 消息不发送

我正在使用 YouTube 短片创建 TikTok 克隆,我想获取视频长度。为此,我在嵌入 html 中创建了一个函数,该函数使用 WKScriptMessageHandler 发布消息并...

回答 1 投票 0

WKWebView 中的字体看起来比 UIWebView 中的小

我将UIWebView更改为WKWebView,但是,使用相同的html,WKWebView中的字体看起来比UIWebView中的字体小。我不希望这种情况发生,那么有什么办法可以避免这种变化呢?

回答 7 投票 0

过多的 Web 视图实例导致手机过热 Swift

您好,我正在使用 YouTube Shorts 制作 TikTok 克隆。我在垂直选项卡视图中呈现视频,允许用户滚动视频列表。由于这些视频位于网络上,我使用网络视图来

回答 1 投票 0

获取WKWebView中静态页面的最终渲染高度

在我的应用程序中,我使用 WKWebView 加载带有静态内容的网页。 我想知道网页在 WKWebView 中完全呈现后 contentSize 的高度。 所以我想我...

回答 2 投票 0

如何复制Safari Tabs的动画和过渡?

我正在创建一个应用内浏览器,并希望支持多个“选项卡”。作为起点,我尝试重新创建与 safari 相同的 UI/UX,即“cards&qu...

回答 1 投票 0

SwiftUI - WebView

对 SwiftUI 相当陌生,所以提前谢谢您。在 Coordinator 的 init 内部,我们传递 WebView 让 Coordinator 知道父级是谁,但是 WebView 是一个结构体,Coordi 不会...

回答 1 投票 0

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

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