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 中加载