ブックマークメニューへの項目の追加

ブックマークフォルダ内の一番下にある「タブですべて開く」メニューのようにメニューを追加する方法。

ブックマークメニューは動的に生成されてるので、JavsScriptでやる必要がある。

omni.ja/chrome/browser/content/browser/places/browserPlacesViews.js内の
PlacesViewBase.prototype._onPopupShowing にコードを追加してやればいい。

下のコードはちょっと古くて今は使えないので注意。ちゃんと調べて適切に実装するように。
eval('PlacesViewBase.prototype._onPopupShowing = '
    + PlacesViewBase.prototype._onPopupShowing.toString().replace(
        'this._mayAddCommandsItems(popup);',
        '$& this.sampleAddItem(popup);')
);
 
// 名前が被らないように注意
PlacesViewBase.prototype.sampleAddItem = function(aPopup) {
    // ルートメニューなら表示しない
    if (aPopup == this._rootElt)
        return;
 
    // ライブブックマークなら表示しない
    var itemId = aPopup._placesNode.itemId;
    if (itemId != -1 && PlacesUtils.itemIsLivemark(itemId))
        return;
 
    if (!aPopup.sampleItem) {
        aPopup.sampleItem = document.createElement('menuitem');
        aPopup.sampleItem.setAttribute('label', 'sample');
        aPopup.appendChild(aPopup.sampleItem);
    }
} 

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2014年11月03日 22:39