0

我在 Xcode 中有一个 webView,经过几秒钟的浏览,我希望能够获取 web 视图的当前 URL。我已经四处搜索,但找不到方法。任何帮助,将不胜感激!

4

1 回答 1

2

如果在 nib 文件中将WebView' 的出口设置为 AppleScript 类,则可以实现与'方法frameLoadDelegate等效的 AppleScript-Objc方法,以便在开始加载新页面时得到通知(来自WebKit Objective-C Programming Guide -加载页面 - 显示当前 URL):WebFrameLoadDelegatewebView:didStartProvisionalLoadForFrame:WebView

on webView_didStartProvisionalLoadForFrame_(sender, frame)
    log "webView_didStartProvisionalLoadForFrame_"

    if frame is equal to sender's mainFrame then
        set currentURLRequest to frame's provisionalDataSource()'s request
        log currentURLRequest

        set theURL to currentURLRequest's mainDocumentURL()
        log theURL

        set theURLString to theURL's absoluteString()
        log theURLString

        set textField's stringValue to theURLString

    end if

end webView_didStartProvisionalLoadForFrame_

在这个示例代码中,我将文本字段的字符串值设置为当前 URL,就像浏览器在导航到另一个页面时通常所做的那样。property如果需要,您始终可以将此值存储在 AppleScript中。

示例项目:WebViewFinaglerAS-Objc.zip

于 2013-03-14T02:58:33.020 回答