如何将外部 URL 加载到我的 webview 中?

Posted

技术标签:

【中文标题】如何将外部 URL 加载到我的 webview 中?【英文标题】:How can I load an external URL into my webview? 【发布时间】:2016-08-19 13:45:44 【问题描述】:

我使用带有 onesignal 插件的 Cordova 项目 (Xcode)。 单击通知时,我想加载带有目标 URL 的 webview。

第一个方法很糟糕:它正在打开外部 Safari 浏览器。

第二种方法:

[[NSURLCache sharedURLCache] removeAllCachedResponses];
for (UIView *view in self.view.subviews)
    
      if ([view isKindOfClass:[UIWebView class]])
      
        [[NSURLCache sharedURLCache] removeAllCachedResponses];
        UIWebView webView = (UIWebView )view;
        NSURL *websiteUrl = [NSURL URLWithString:urlstr];
        NSURLRequest *urlRequest = [NSURLRequest requestWithURL:websiteUrl];
        [webView loadRequest:urlRequest];
        [webView reload];
      
    

它只是让我黑屏。

如何使用 Xcode 将外部 URL 加载到我的 webview Cordova 中?

【问题讨论】:

Xcode 有什么错误吗? 另一种解决方案是在消息中发送 URL。然后用notificationOpenedCallback拦截它并在应用程序中打开InAppBrowser插件的URL。 如果真的是黑屏,这听起来像是视图布局问题,即 Web 视图没有占用任何空间,要么是因为它被隐藏了,要么是因为没有设置边界正确(或根本),或由于某种 AutoLayout 问题。如果您的意思是“空白”(例如在具有白色背景和搜索框的 Web 视图中),那么我不确定发生了什么。 xcode 中没有错误 【参考方案1】:

如果你不关心在应用程序中保留 URL,你可以简单地做一个

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];

【讨论】:

以上是关于如何将外部 URL 加载到我的 webview 中?的主要内容,如果未能解决你的问题,请参考以下文章

如何将本地文件加载到webview

如何将外部网页加载到 html 页面的 div 中

Android WebView是否需要打开外部URL的权限?

如何监听 WebView 完成加载 URL?

Swift - WebView 在加载时未检测到滑动

从Webview获取(THREE.js)3D模型到我的Native-React(增强现实)应用程序