Bloggerでマークダウン

Bloggerでマークダウンコードテストvar Person = function(firstname, lastname, age) {this.firstName = firstname; this.lastName = lastname; this.age = age; this.setAge = function(age) {this.age = age; }; this.toString = function() {return ["Hi ! I'm ", this.firstName, " ", this.lastName, " and I'm ", this.age, " year old."].join(""); }; };

オレブラウザを作る 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関連の実装だけど、これはやることが結構あるので次回に繰り越し。

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

コメント

このブログの人気の投稿

Bloggerでマークダウン