ロケーションバーに表示しているドキュメントの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関連の実装だけど、これはやることが結構あるので次回に繰り越し。
今回はほんの少しの更新だったな…。
0 件のコメント:
コメントを投稿