ページ

2009年4月6日月曜日

WebKit検証

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

SimpleCapはリリースに向けて地味な作業が続くのでブログでは別の話題を扱っていく。以前、Webページのキャプチャ機能を追加して欲しいとの要望を受けたので少しWebKitについて調べてみよう。

まずは最初の一歩として Webページを表示するだけのアプリを作ってみる。ネット上にこの話題はたくさんあるので適当に参考にして進めてみた。

まずはお約束通り、URL用の NSTextFieldと WebViewを配置する。


次は NSTextFieldを WebViewへバインドする。


あれ? WebViewが選べない。他のサイトの説明だとここで WebViewが選べるのだが。

時間も無いのでとりあえず Action/Target & Outlet で対応する。かっこわるいのだが "Go"ボタンを追加しておく。


AppControllerクラスを用意してアウトレットとアクションを実装する(もちろん InterfaceBuilderでワイヤー接続しておく)。

AppController.h

#import 
#import

@interface AppController : NSObject {

IBOutlet NSTextField* _url_text;
IBOutlet WebView* _web_view;
}
- (IBAction)loadPage:(id)sender;

@end


WebView へページを表示させるには #mainFrame で WebFrame を取得した後、#loadRequest: を投げてやる。
(参考)WebKit Objective-C Programming Guide: Simple Browsing

AppController.m

@implementation AppController
- (IBAction)loadPage:(id)sender
{
[[_web_view mainFrame] loadRequest:
[NSURLRequest requestWithURL:[NSURL URLWithString:[_url_text stringValue]]]];
}
@end


実行して "http://www.apple.com/" を NSTextFieldへ入力し、"Go"ボタンを押す。


でた。
バインディングが使えない理由がわからないがとりあえずWebページが表示できた。