【问题标题】:How can I load an external URL into my webview?如何将外部 URL 加载到我的 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 中没有错误

标签: objective-c cordova webview


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-11
    • 1970-01-01
    • 2011-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多