9/10/2010

読み込んだウェブページの内容を使って処理を行う [Safari Extensions を作ってみる:第三回]

機能拡張では、メニューバーになにかを表示したりするだけでなく、Safari で読み込んだページの内容を使って処理を行うこともできる。今回は Apple のトップページ右上にある検索ボックスに「Safari Extensions」という文字を放り込むような処理を作ってみる。

とりあえず、Javascript を用意する。名前は「apple.js」とする。この検索ボックスは、ソースを見ると id="sp-searchtext" となっている。
document.getElementById("sp-searchtext").value = "Safari Extensions";

  1. Safari Extensions の新規開発画面を表示する
  2. Safari Extensions の新規開発画面を表示する際に保存したフォルダに、上記で作った js ファイルを保存する
  3. 「機能拡張の情報」「機能拡張の詳細」「機能拡張のバージョン」の各項目に適宜な内容を入力する
  4. 「機能拡張 Web サイトアクセス」の「アクセスレベル」を「すべて」にする
  5. 「取り込んだ機能拡張の内容」の「スクリプトを終了」の「新規スクリプト」をクリックする。「スクリプトを開始」のものでは動作しないので、必ず「スクリプトを終了」のものにする
  6. 入力箇所が表示されるので、セレクトボックスをクリックすると 2. で保存した apple.js が表示されるので、それを選択する
  7. 少し下の「ホワイトリスト」の「新規 URL パターン」をクリックする
  8. 入力ボックスが表示されるので、「http://www.apple.com/*」と入力する。アスタリスクでワイルドカードを使えるので、スラッシュの後には「*」を入力する
  9. 機能拡張ビルダー右上の「インストール」をクリックし、Apple にアクセスすると、検索ボックスに「Safari Extensions」と表示されるようになる


ちなみに、このホワイトリストでドメインを指定しないと、あらゆるウェブページで js が発動してしまう。ホワイトリストの説明は Safari Extensions Development Guide: Using Extension Builder に載っている。

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.