WKWebView:添加一个加载 URL 的按钮

Posted

技术标签:

【中文标题】WKWebView:添加一个加载 URL 的按钮【英文标题】:WKWebView: Add a button that loads up URL 【发布时间】:2016-05-26 15:35:51 【问题描述】:

在我的 WKWebView 应用程序中,我想添加一个按钮,用户可以单击该按钮转到主页 URL。

我的主页 URL 存储在 url:

let url = NSURL(string: "http://***.com")!

然后我像这样创建按钮:

let htmlURL = UIBarButtonItem(title: "Home",style: .Done,target: webView,action: #selector(webView!.goBack))

self.navigationItem.leftBarButtonItem = htmlURL

显然,我需要更改 webView!.goBack 部分。我的问题是,我应该将其更改为什么,以便当用户单击 htmlURL 按钮时,它会转到 url

【问题讨论】:

【参考方案1】:

你可以添加一个动作/函数,例如loadHome()到视图控制器并使用webView.loadRequest(_ request: NSURLRequest)来加载传递的NSURLRequest

https://developer.apple.com/library/ios/documentation/WebKit/Reference/WKWebView_Ref/#//apple_ref/occ/instm/WKWebView/loadRequest:

let htmlURL = UIBarButtonItem(title: "Home", style: .Done, target: self, action: #selector(loadHome))

func loadHome() 
    webView.loadRequest(homeUrlRequest)

【讨论】:

你的意思是这样吗?:let htmlURL = UIBarButtonItem(title: "Home",style: .Done,target: webView,action: #selector(webView.loadRequest(_ request: NSURLRequest)) -- 这给了我一个错误,指出我应该添加一个逗号,当我这样做时,它仍然是一个错误。我在这里做错了什么? @HenrikPetterson 您可以向视图控制器添加一个函数,例如func viewHome(),然后将其更改为#selector(viewHome)。 func viewHome()你可以打电话给webView.loadRequest @HenrikPetterson 你打赌!已添加。 感谢您的编辑,尽管我收到以下错误:“使用未解析的标识符 'homeUrlRequest'” - 代码中是否存在错误?我们缺少什么?再次感谢@narohi 的努力

以上是关于WKWebView:添加一个加载 URL 的按钮的主要内容,如果未能解决你的问题,请参考以下文章

WKWebView - 获取html表单的查询参数

如何使用缓存使用 SfSafariView 或 WKWebView 更快地加载网站?

如何在 WKWebView 上加载 URL?

WKWebView 是不是需要 URL?

在 macOS 中使用 WKWebView 加载 URL

WKWebView 在加载另一个 URL 时不会重新呈现内容