LinkifyをiOSに組み込むには表示するHTMLのヘッダに以下のようなスクリプトタグを追加します。
<script type="text/javascript"
src="http://www-static.linkify.mobi/api/linkify.js?key=YOUR_API_KEY">
</script>
例として、Linkifyが組み込まれたiOS WebView applicationの紹介をします。今回は、Linkifyが導入された Yahoo! News のウェブページをWebViewで表示するといったアプリケーションを作成します。
XCodeの最初の設定で Single View Application を選択します。WebViewを追加するためには、storyboardのファイルを選択し、 Objects フォルダにあるWebView UIをiPhoneの画面にDrag&Dropします。
ViewController では、はじめにWebViewの定義を行います。以下のコードは ViewController.h の例です。
@interface ViewController : UIViewController{
IBOutlet UIWebView *webView;
}
以下のコードは ViewController.m 内の二つのメソッドの例です。 viewDidLoad メソッドはwebViewに表示したいURLをリクエストします。 webViewDidFinishLoad メソッドでは、 stringByEvaluatingJavascriptFromString メソッドを用いて、LinkifyのスクリプトタグをHTMLのヘッダに追加します。 なお、webViewDidFinishLoad メソッド内にはYOUR_API_KEY環境変数が含まれているため、 LinkifyのCodeページからコピー&ペーストしてくることをおすすめします。
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
NSURLRequest* req = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://news.yahoo.com"]];
[webView loadRequest:req];
webView.delegate = self;
}
- (void)webViewDidFinishLoad:(UIWebView *)view
{
[webView stringByEvaluatingJavaScriptFromString:@"(function(){if(!window.linkified){var d=document,s=d.createElement('script');s.type='text/javascript';s.src='http://www-static.linkify.mobi/api/linkify.js?key=YOUR_API_KEY';d.getElementsByTagName('head')[0].appendChild(s);window.linkified=true;}})()"];
}