如何从 Swift 3 xcode8 的 UIWebView 中的 url 获取查询字符串参数?

Posted

技术标签:

【中文标题】如何从 Swift 3 xcode8 的 UIWebView 中的 url 获取查询字符串参数?【英文标题】:How to get query string parameters from url in the UIWebView in Swift 3 xcode8? 【发布时间】:2016-12-28 12:05:48 【问题描述】:

有人可以帮助我了解如何获取 UIWebView 接收到的 url 中的查询字符串参数的过程。

@IBOutlet weak var mywebView: UIWebView!

override func viewDidLoad() 
    super.viewDidLoad()
    let url = NSURL (string: "my api url")
    let requestObj = NSURLRequest(URL: url!);
    mywebView.loadRequest(requestObj)

func webViewDidFinishLoad(webView: UIWebView) 

    let loadedURL = webView.request?.URL?.absoluteString
    print(loadedURL) //prints: http://www.example.com/index.php?key1=value1&key2=value2

如何过滤 Key1 或 Key2 值?

谢谢

【问题讨论】:

你能告诉我们你在做什么以及你尝试了什么吗? 或者分享你想要实现的基本需求。 您遇到问题的哪一部分?你能得到网址吗?发布您到目前为止的代码。顺便说一句,你应该只使用swift 标签,而不是swift3,因为 Swift 3 是 Swift 的当前版本。 【参考方案1】:

使用这个

let str = “Your query string text” which you get from url
let pagehtml = NSString(format:"%@ %@", "<html <p style= ><style>bodyfont-family:'%@'; font-size:17px;</style></p> </html>",str! as! CVarArg) as String;
self.webView.loadHTMLString(pageHtml,baseURL: nil)
self.webView.loadHTMLString.delegate = self
self.webView.scalesPageToFit = true
self.webView.contentMode = .scaleAspectFit

【讨论】:

以上是关于如何从 Swift 3 xcode8 的 UIWebView 中的 url 获取查询字符串参数?的主要内容,如果未能解决你的问题,请参考以下文章

xcode 8.3.3 是不是运行 swift 3.2

Swift 3、Xcode 8 中的 UINavigationController

swift 3 Xcode 8 中的 NSManagedObject 和 CoreData

从 AppDelegate 调用 GameScene 方法(Swift 3、SpriteKit、Xcode 8)

Swift 3 和 Xcode8 - init 的模糊使用

swift 3(xCode8-beta6)上的可达性问题