オレブラウザを作る 10

ブラウザの細かい機能を作り込み。

ロケーションバーに表示しているドキュメントのURLを表示。

画面遷移する度に今見ているドキュメントのURLを表示させてみる。これはWebViewで発火したイベントのタイミングでロケーションバーに文字列を設定するという形でコーディングすればいい。

WebViewのイベント関連の為にソースファイルを一つ追加。ファイル名はWebViewDelegate.applescript 。
イベントハンドラはwebView_didStartProvisionalLoadForFrame_()になる。

script WebViewDelegate
    property parent : class "NSObject"
    property locationBar : missing value

    -- === FrameLoadDelegate =========================

    on webView_didStartProvisionalLoadForFrame_(sender, frame)
        set theURL to mainDocumentURL() of request of provisionalDataSource of frame
        tell locationBar to setStringValue_(absoluteString() of theURL)
    end

end script


WebViewDelegateのオブジェクトをMainMenu.xibに作成。このオブジェクトをWebViewのFrameLoadDelegateとして関連付け。



そしてプロパティlocationBarをツールバーのLocationテキストフィールドに関連付ける。以上。



起動して動作確認。URLが表示された。

次。

ウィンドウのタイトルとしてHTMLドキュメントのタイトルを表示させる。イベントハンドラはwebView_didReceiveTitle_forFrame_()だ。

on webView_didReceiveTitle_forFrame_(sender, title, frame)
    if mainFrame of sender is frame then
        tell |window| of sender to setTitle_(title)
    end if
end


起動して動作確認。タイトル表示ができた。

Xcodeに関する新しい手順はないのでスクリーンショットはあまり載せないかも。実際のものはhttps://github.com/mnicovideo/My-Web-Browserにも置いているからそれを見てくださいな。

次はJavaScript関連の実装だけど、これはやることが結構あるので次回に繰り越し。

今回はほんの少しの更新だったな…。

コメント

人気の投稿