iOS WKWebView可以从不同的本地路径访问两个html文件

问题描述 投票:0回答:1

在我的ObjC iOS应用中,我正在加载一个本地html文件,该文件将加载另一个通过ODR下载的html文件和资源。使用UIWebview时,此流程没有问题。现在,我将其迁移到Webkit。在这里,我无法将下载的html文件加载到本地文件的iframe中。我将下载文件的本地路径作为查询参数传递给正在加载的html文件。执行此操作时,我收到以下错误消息。

从Web进程接收到意外的URL。WebPageProxy :::忽略请求加载此主资源,因为它不在沙箱中]]

这是我的代码...

NSString *urlString = @"file:///private/var/containers/Bundle/Application/xxxxx/yyyy/index.html?src=/var/mobile/Library/OnDemandResources/AssetPacks/xxxxxx/com.test.app.asset-pack-3bfc9edf79a8ad10f28bdd0043395f30.assetpack/Home/Home.html";
NSURL *urlToLoad = [NSURL URLWithString:urlString];

WKWebViewConfiguration *webConfig = [[WKWebViewConfiguration alloc]init];
WKUserContentController *controller = [[WKUserContentController alloc] init];
webConfig.userContentController = controller;
[webConfig.preferences setValue:@"TRUE" forKey:@"allowFileAccessFromFileURLs"];
[webConfig setValue:@"TRUE" forKey:@"allowUniversalAccessFromFileURLs"];
webConfig.requiresUserActionForMediaPlayback = NO;
wkView = [[WKWebView alloc] initWithFrame:CGRectZero configuration:webConfig];
wkView.UIDelegate = self;
wkView.navigationDelegate = self;
[rootViewController.view addSubview:wkView];
[wkView loadFileURL:urlToLoad allowingReadAccessToURL:urlToLoad];

我需要一个解决方案来加载单个html文件,这将加载另一个html文件和位于不同路径的资源。

在我的ObjC iOS应用中,我正在加载一个本地html文件,该文件将加载另一个通过ODR下载的html文件和资源。使用UIWebview时,此流程没有问题。现在我正在迁移它...

ios objective-c webkit wkwebview
1个回答
0
投票

也许this可以解决您的问题,我相信他们也有类似的问题。

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