2016-08-04 105 views
0
加载当前URL

我在WebView中应用的iOS快捷的工作:iOS版雨燕:不能检索的UIWebView

问题我面临的是我想它的WebView显示每个网址:网址时

我必须执行一些其他检查。但我无法获得webview加载的url。

webview在单击时显示出良好的结果并加载网址。我要取的网页视图导航在所有网址..

import Foundation 
import UIKit 


class seconVC: UIViewController { 

    var toPass:String! 
    var touser:String! 
    var toPassing:String! 



    @IBOutlet weak var webV: UIWebView! 

    @IBOutlet weak var L_back: UIBarButtonItem! 

    @IBOutlet weak var R_frwrd: UIBarButtonItem! 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 

     var domurl = toPass; 

     var username = touser; 

     var passwing = toPassing; 



     var sendurl = stringA+username+"/"+passwing; 

     //exchange login with auth/username/password 
     println(sendurl); 

     let url = NSURL (string: sendurl); 


     let requestObj = NSURLRequest(URL: url!); 
     webV.userInteractionEnabled = true 
     webV.loadRequest(requestObj); 



    } 

    @IBAction func L_back(sender: UIBarButtonItem) { 

     if (webV.canGoBack){ 
      webV.goBack() 
     } 


    } 

    @IBAction func R_frwrd(sender: UIBarButtonItem) { 

     if (webV.canGoForward){ 
      webV.goForward() 
     } 

    } 



    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 


    } 



} 

所有我想要的是得到的WebView当前URL和导航按钮的字符串:请帮助?我提到所有的互联网没有解决方案在我的情况下工作。

+0

我想要的是获取当前网址字符串 - 当你需要这个 –

+0

在webview中加载主要网址后用户与webview交互那里我想要的网址 –

回答

3

有几个如UIWebViewDelegateshouldStartLoadWithRequestwebViewDidStartLoadwebViewDidFinishLoaddidFailLoadWithError,帮助你完成你的目标。如果你想查看并完成之后进行操作即可实现此委托方法

斯威夫特3

if let currentURL = webView.request?.url?.absoluteString{ 
     print(currentURL) 
    } 

,因为它提到here

+0

不能在委托类中工作 –

+0

您是否正确设置委托?我的意思是webV.delegate = self并确认协议。 – iMuzahid

+0

首先它给公共标识符上的错误然后删除公共错误消失后,当运行代码没有网址被提取 –

4

选项-1

let currentURL = webV.request.URL.absoluteString 

选项-2

GET URL在委托方法

func webViewDidFinishLoad(webView: UIWebView){ 
    print(WebView.request?.mainDocumentURL) 
} 

选项-3

func webViewDidFinishLoad(webView: UIWebView) { 
let currentURL = webView.request().URL() 
print("\(currentURL.description)") 
} 

或使用像

func webViewDidFinishLoad(webView: UIWebView){ 
let currentURL = webView.request?.URL 
} 

选项-4-

func webViewDidFinishLoad(webView: UIWebView) { 
let currentURL: = webView.stringByEvaluatingJavaScriptFromString("window.location.href")! 
print("\(currentURL)") 
} 

选项-5-

func webView(webview: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool { 
let currentURL = request.URL.absoluteString 
print("\(currentURL)") 
} 

选项-6

func webViewDidFinishLoad(WebVie: UIWebView) { 
    let currentURL = WebVie.request.mainDocumentURL 
    print("\(currentURL)") 
} 
+0

:-(男人他们都没有工作..发生了什么 –

+0

@ Addi.Star - 您可以更新一次问题 –

+0

thanx帮助人选项3与委托协议一起工作 –