URL 未在 webview 上加载

Posted

技术标签:

【中文标题】URL 未在 webview 上加载【英文标题】:URL does not load on webview 【发布时间】:2018-07-13 09:25:50 【问题描述】:

所以我有这个链接 https://api1341.mr009.com/game/ptLaunchGame?agent=mobile&gameCode=art&gameType=8&sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjEyMTc4NDQsImxvZ2luTmFtZSI6ImRldnRlc3Q0NyIsImlhdCI6MTUzMTM5MTQ2OH0.0Ao0O9dPMWvWAHeYE1j4w5f2uLN7C32oMmVXbvTI1qQ

我尝试在 webview 上运行,但它不起作用。

override func viewDidLoad() 
    super.viewDidLoad()

    let url = URL(string: urlString)
    let request = URLRequest(url: url!)
    webView.loadRequest(request)

仅当我在应用程序外部启动链接时才有效,例如 safari 浏览器。

哦,顺便说一句,我只能将 Webview 用作要求。没有 WebKitView。

【问题讨论】:

上面的 url 在浏览器中打开了吗?当我尝试在浏览器中加载时它不显示任何内容 试试这个链接api1341.mr009.com/game/… 如果有其他人查看同一链接,我发布的链接一次只能由一个用户打开。它会显示一些用中文写的错误。 【参考方案1】:

是这条线造成的

webView.loadhtmlString(urlString, baseURL: nil)

该函数应该用于加载本地 .html 文件,而不是来自 URL 的网站。您正在做的是开始使用

加载请求
webView.loadRequest(request)

然后立即取消它,通过尝试使用加载本地 .html 文件

webView.loadHTMLString(urlString, baseURL: nil)

这显然失败了,因为那是一个 URL,而不是 .html 文件。

只需删除

webView.loadHTMLString(urlString, baseURL: nil)

【讨论】:

所以我更新了我的代码,删除了具有 loadHTMLStrin 的行,但 webview 仍然只显示一个白色的空白页面。 你实现了UIWebViewDelegate协议吗?是否调用了委托的webView(_:didFailLoadWithError:) 函数?错误是什么?网址有效吗?当我在浏览器中打开 URL 时,它确实显示一个空白的白色背景 我在 didFailLoadWithError 协议中遇到这些错误 2018-07-13 17:35:23.525426+0800 MR007[15114:238270] WF: _userSettingsForUser : (null) 2018-07-13 17:35:23.525765 +0800 MR007[15114:238270] WF:_WebFilterIsActive 返回:否 在浏览器中打开 URL 时,网站显示未定义的错误和空白的白色背景。您确定网址有效吗? 是的,链接是对的,我最近上传了关于问题的照片,供参考。【参考方案2】:

调用 webview 的 delegate 也等于 self

webView.delegate = self self.webView.loadRequest(URLRequest(url: URL(string: self.link)!))

【讨论】:

webView.delegate = self self.webView.loadRequest(URLRequest(url: URL(string: self.link)!)) 请不要不要使用 cmets 空间进行此类更新 - 改为编辑和更新您的帖子!也相应地格式化您的代码... 谢谢您的建议

以上是关于URL 未在 webview 上加载的主要内容,如果未能解决你的问题,请参考以下文章

IBM Worklight/Cordova 未在 Android 上 Worklight 的嵌入式 WebView 中加载

如果我在 Android 上使用 webview,是不是必须应用 SSL 才能在 webview 上加载 URL?

RSS 阅读器未在 WebView 中显示选定的单元格

webview 正在模拟器中加载,但未在设备中加载

webview获取网页点击事件

在 iPhone 上加载 url 时在 webview 中添加阴影