投稿

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(""); }; };

オレブラウザを作る 14

イメージ
今回はコンテクストメニューについて。

オレブラウザの仕様はシングルウインドウアプリケーション。あとコンテンツのダウンロード機能はなしという形。

WebViewのコンテクストメニューはデフォルトで新しいウインドウを開く、リンク先を保存するというメニューが用意されている。



用意されているとその機能が実装されていると考えてしまうので不要なメニューを無くす事にする。

コンテクストメニューの構築はUIDelegateの webView_contextMenuItemsForElement_defaultMenuItems_ ハンドラで実現する。

on webView_contextMenuItemsForElement_defaultMenuItems_(sender,element,defaultMenuItems) set modifiedMenuItems to {} repeatwith mItem in mutableCopy() of defaultMenuItems if tag() of mItem =1then-- new window--skipelseif tag() of mItem =2then-- download link--skipelsesettheendof modifiedMenuItems to mItem endifendrepeatreturn modifiedMenuItems end

defaultMenuItemsを利用してコンテクストメニューを再構築していく。具体的にはdefaultMenuItemsのメニューアイテムのタグが1と2のメニュー以外で再構築する。

これで不要なメニューは表示されなくなった。もちろんここで独自メニューを追加していく事も可能。



今回はここまで。

オレブラウザを作る 13

イメージ
だいぶ間が空いてしまった。

今回は新規ターゲットと新規ウインドウ関連。

オレブラウザでこれから実装していく予定のもの

イメージ
オレブラウザで実現したい事って実は普通のブラウザとはちょっと違う。なので今後実装するものと実装しないものをリストアップしてみた。

オレブラウザを作る 12

イメージ
今回はWeb Inspectorを組み込む。

オレブラウザを作る 11

イメージ
今回はJavaScript関連の実装。

オレブラウザを作る 10

イメージ
ブラウザの細かい機能を作り込み。