预加载多个本地webview(代码片段) |
您所在的位置:网站首页 › wkwebview加载本地图片 › 预加载多个本地webview(代码片段) |
关键词: 因为我可以找到一些过时的信息/不能解决我的问题,我决定再次提出这样的问题。 (看到过时/错误的解决方案:) WKWebView: Is it possible to preload multiple URLs? (Xcode, Swift) Is it possible to load multiple WKWebViews simultaneously if they are on different viewControllers? Swift 3, iOS 10.3 - Preload UIWebView during Launch Screen我的应用程序分为一个本机部分和一个HTML部分。 HTML将保存为本地文件(index.html),并应加载到myWebView视图中。 @IBOutlet weak var myWebView: UIWebView! func loadWebview() let url = Bundle.main.url(forResource: "index", withExtension: "html") let request = URLRequest(url: url!) myWebView.loadRequest(request) myWebView.scrollView.isScrollEnabled = false myWebView.allowsLinkPreview = false myWebView.delegate = self因为我的DOM树非常大,所以从本机部分切换到Web部分(在按钮点击时)在第一次切换时需要很长时间 - 因为之后,我确信webView请求被缓存。 To my question:我怎样才能在app init上预加载WebView,以避免从本机切换到Web部分时出现白屏(可能持续0.5秒-1s)? 编辑: WKWebView显示滚动条而UIWebView不显示! 使用(与UIWebView一样)这种样式: ::-webkit-scrollbar display: none;没有工作并添加这些行: webview.scrollView.showsHorizontalScrollIndicator = false webview.scrollView.showsVerticalScrollIndicator = false也根本不工作。 答案首先,你应该切换到WKWebView,UIVewView是no longer recommended供Apple使用。 其次,您可以创建一个Web视图池,这些视图会在应用程序启动时被创建并要求加载。这样,当用户切换到Web界面时,Web视图可能有机会完全加载。 为此你可以使用这样的类: /// Keeps a cache of webviews and starts loading them the first time they are queried class WebViewPreloader var webviews = [URL: WKWebView]() /// Registers a web view for preloading. If an webview for that URL already /// exists, the web view reloads the request /// /// - Parameter url: the URL to preload func preload(url: URL) webview(for: url).load(URLRequest(url: url)) /// Creates or returns an already cached webview for the given URL. /// If the webview doesn't exist, it gets created and asked to load the URL /// /// - Parameter url: the URL to prefecth /// - Returns: a new or existing web view func webview(for url: URL) -> WKWebView if let cachedWebView = webviews[url] return cachedWebView let webview = WKWebView(frame: .zero) webview.load(URLRequest(url: url)) webviews[url] = webview return webview并要求它在app启动期间有时预加载url: // extension added for convenience, as we'll use the index url in at least // two places extension Bundle var indexURL: URL return self.url(forResource: "index", withExtension: "html")! webviewPreloader.preload(url: Bundle.main.indexURL)第三,您可能需要在控制器中使用容器视图而不是实际的Web视图: @IBOutlet weak var webviewContainer: UIView!剩下的就是在需要时将预加载的Web视图添加到容器中: func loadWebview() // retrieve the preloaded web view, add it to the container let webview = webviewPreloader.webview(for: Bundle.main.indexURL) webview.frame = webviewContainer.bounds webview.translatesAutoresizingMaskIntoConstraints = true webview.autoresizingMask = [.flexibleWidth, .flexibleHeight] webviewContainer.addSubview(webview)而不是最后,请注意保持Web视图的实例可能会带来性能损失 - 内存和CPU。 mui预加载(代码片段)预加载页面正常打开步骤:先创建->在显示plus.webview.create(url,id,styles,extras);//创建页面plus.webview.show(id_wvobj,aniShow,duration,showedCB,extras);//显示已经创建的或者隐藏的窗口plus.webview.open(url,id,styles,aniShow,duration,sho 查看详情 Microsoft Edge WebView2 控件可以在显示之前预加载页面吗?】MicrosoftEdgeWebView2控件可以在显示之前预加载页面吗?【英文标题】:CantheMicrosoftEdgeWebView2controlpreloadthepagebeforedisplayingit?【发布时间】:2021-12-1121:39:31【问题描述】:我在我的WPF应用程序中使用MicrosoftEdgeWebView2控件。我的应用... 查看详情 WebView2如何加载本地文件?】WebView2如何加载本地文件?【英文标题】:WebView2howtoloadlocalfile?【发布时间】:2021-05-0710:22:17【问题描述】:我的WinForm.NETFramework4.7.2中有一个WebView2控件,如何在其中加载我的本地html文件?我试图设置带有file://扩展名的.Source... 查看详情 如何让 Flutter 的 webview 处理从本地 html 加载的本地资产?】如何让Flutter的webview处理从本地html加载的本地资产?【英文标题】:HowtogetFlutter\'swebviewtoworkwithlocalassetsloadedfromlocalhtml?【发布时间】:2020-06-1321:26:58【问题描述】:我有一个加载css文件、字体和图像文件的html文件。目前我的we... 查看详情 将本地 css 文件加载到 webview 中】将本地css文件加载到webview中【英文标题】:loadalocalcssfileintoawebview【发布时间】:2015-02-2709:48:43【问题描述】:我构建了一个简单的ios应用程序,它将从服务器下载的html加载到webview中。[self.webViewloadHTMLString:notif.htmlbaseURL:nil];... 查看详情 androidnativeapp开发笔记:使用webview控件加载网页(代码片段)...导航加载本地网页Web和Native之间交互调试Web应用总结目的WebView是一个比较常用的控件,功能上也比较单一,就是用来加载网页的,可以加载远程的网页,也可以加载本地网页文件。简单来说就相当于一个浏览器。... 查看详情 为啥我不能使用 Webview 加载我的本地页面】为啥我不能使用Webview加载我的本地页面【英文标题】:Whycan\'tIloadmylocalpageusingWebview为什么我不能使用Webview加载我的本地页面【发布时间】:2012-08-1022:48:16【问题描述】:我是来寻求帮助的,我搜索、阅读并尝试了几种我遇到... 查看详情 如何将 html 文件加载到多个目标的 webView 中】如何将html文件加载到多个目标的webView中【英文标题】:HowtoloadanhtmlfileintoawebViewformultipletargets【发布时间】:2019-01-0714:41:14【问题描述】:在我的应用程序中,我有一个html信用文件,我想将它加载到webView中。我使用的代码非... 查看详情 多个 WebView 重新加载问题 Flutter】多个WebView重新加载问题Flutter【英文标题】:MultipleWebViewReloadissueFlutter【发布时间】:2020-02-2518:40:03【问题描述】:我使用了多个带有单独BottomNavigationBarItem选项卡的Web视图,并在每个选项卡中加载了不同的URL。问题是,如果... 查看详情 android中webview的使用详解(代码片段)前言:通过WebView控件可以实现加载网页的效果。加载URL(网络或者本地assets文件夹下的html文件)加载html代码Native和JavaScript的相互调用一、加载网页的方法:加载网络URLwebView.loadUrl(“https://m.baidu.com”);加载assets目录下的html... 查看详情 WebView2 (WPF) - 从本地文件夹加载网站并调用 C# 函数并调用 JS 函数】WebView2(WPF)-从本地文件夹加载网站并调用C#函数并调用JS函数【英文标题】:WebView2(WPF)-LoadwebsitefromlocalfolderandcallC#FunctionandcallJSFunction【发布时间】:2021-10-0800:01:00【问题描述】:我正在让WPF应用程序使用WebView2。将有一个安装... 查看详情 android开发基础之控件webview(代码片段)WebView可以实现如下功能:加载本地assets文件夹下的html文件wedview.loadUrl(“file:///android_asset/test.html”);加载网络URLwebview.loadUrl(“http://m.baidu.com”);直接加载HTML代码方法一:webview.loadData();方法二:webvi 查看详情 图片的懒加载预加载(代码片段)原理: 预加载原理:就是在网页全部加载之前,提前加载图片,当用户需要查看时可直接从本地缓存中渲染,以提供给用户更好的体验,减少等待的时间。 图片懒加载原理(缓载):... 查看详情 将本地 web 应用程序包含到 react native webview 中】将本地web应用程序包含到reactnativewebview中【英文标题】:Includelocalwebappintoreactnativewebview【发布时间】:2016-06-2111:28:47【问题描述】:在我的react-native应用程序中,我想显示一个webview,它加载一个本地html5网络应用程序(单页... 查看详情 android中webview的使用详解前言:通过WebView控件可以实现加载网页的效果。加载URL(网络或者本地assets文件夹下的html文件)加载html代码Native和JavaScript的相互调用一、加载网页的方法:加载网络URLwebView.loadUrl(“https://m.baidu.com”);加载assets目录下的html文件w... 查看详情 将 HTML 文件加载到 WebView】将HTML文件加载到WebView【英文标题】:LoadHTMLfileintoWebView【发布时间】:2011-08-1014:40:10【问题描述】:我有一个本地html页面以及它指向的其他几个资源(css文件和Javascript库),我想将它们加载到WebView中。这怎么可能实现?也... 查看详情 在 swift 3 中启动应用程序时,如何在另一个 ViewController 中预加载 UIWebView?...t3中启动应用程序时,如何在另一个ViewController中预加载UIWebView?【英文标题】:HowtopreloadaUIWebViewinanotherViewControllerwhenlaunchingtheapplicationinswift3?【发布时间】:2017-11-0219:23:03【问题描述】:我实际上在我的iOS应用程序中使用了两... 查看详情 在 webview 中快速加载 html 文件,更改图像大小、字体和文本大小】在webview中快速加载html文件,更改图像大小、字体和文本大小【英文标题】:Swiftloadhtmlfileinwebview,changeimagesize,fontandtextsize【发布时间】:2017-08-1708:36:53【问题描述】:谁能帮我在webview中添加html文件?我想用我的文本大小、字... 查看详情 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |