userChrome.js作成メモWiki内検索 / 「新しいウィンドウを開く」で検索した結果

検索 :
  • 新しいウィンドウを開く
    JavaScriptのopenやopenDialogを使う var features = chrome,centerscreen ; var newWindow = window.open(url, _blank , features); Window.open - Web API Interfaces | MDN var features = chrome,resizable,centerscreen ; var newWindow = window.openDialog(url, _blank , features, arg1, arg2, ...); window.openDialog - Web API Interfaces | MDN XPCOMを使う Cu.import("resource //gre/modules/...
  • メニュー
    ...イアログ作成 機能別新しいウィンドウを開く ページ読み込みやタブ切り替えを監視 コンソールに出力 ダウンロード状況を監視 ファイルの読み書き スクリプトの読み込み prefs.js設定の読み書き 再起動 通信を監視してキャンセルする 拡張開発環境 雑多なメモ [編集] 更新履歴 取得中です。 リンク @wiki @wikiご利用ガイド@wiki構文 @wikiプラグイン
  • サイドバー
    ...turesを指定して新しいウィンドウを開く場合、強制的にサイドバーが非表示になる場合がある。しかしこの"非表示"はCSSの"display none"で行われていて、見えないだけで実際にはサイドバーが呼び込まれている。見えないのに処理だけ行われているというのはまったくの無駄だし、さらに予想外のエラーが発生することも多々ある。(例えば、XULのstringbundleのメソッドを使用しようとするとエラーが出る...なんでだ?) この対策として、強制非表示になる状況では処理を中断するというコード↓。もっと良い方法ないかなぁ... let win = window.top.document.querySelector( window[chromehidden~="extrachrome"] ); if ...
  • gContextMenu
    nsContextMenu.js カーソル位置を表すプロパティ(真偽値)onImage onLoadedImage onCompletedImage onCanvas onVideo onAudio onTextInput onKeywordField onLink onMailtoLink onSaveableLink onMathML inFrame inSrcdocFrame inSyntheticDoc hasBGImage onEditableArea onCTPPlugin カーソル位置の情報を表すプロパティimageDescURL mediaURL link linkURL linkURI linkProtocol bgImageURL その他の主なプロパティtarget textSelected isTextSelected isContentSelected isD...
  • 再起動不要な拡張機能
    ブートストラップ型拡張機能 - 拡張機能 | MDN 基本ファイル構成 install.rdf に追加 bootstrap.js の内容 制限 実際にどう書くかブラウザウィンドウの取得と監視 スタイルの適用と除去 デフォルト値の設定 ツールバーボタン(カスタマイズボタン)の追加 注意 基本 ファイル構成 *.xpi ├ install.rdf ├ bootstrap.js   ←これが追加 ├ chrome.manifest ├ content ├ locale └ skin install.rdf に追加 em bootstrap true /em bootstrap bootstrap.js の内容 function startup(data, reason) { // 拡張機能の起動時(Firefoxの起動、拡張機能の有効化...
  • gBrowser/メソッド
    ローカルメソッドと思われる物(最初がアンダーバーで始まるもの)は書き出していない。 tabbrowser - MDC Doc Center gBrowser独自のメソッド isFindBarInitialized(aTab) getFindBar(aTab) getStatusPanel() updateWindowResizers() ウィンドウ右下のリサイズグリップの表示フラグを各browserに設定する。 pinTab(aTab) タブをピン留めする。aTabに"TabPinned"イベントが発行される。 unpinTab(aTab) ピンのピン留めを解除する。aTabに"TabUnpinned"イベントが発行される。 previewTab(aTab, aCallback) getBrowserAtIndex(aInde...
  • タイトルバー左のアイコンを独自の物にする
    Firefox4 のメインウィンドウで Firefox ボタンを表示している場合は例外だが、それ以外では通常、ウィンドウのタイトルバーの一番左には Firefox アイコンが表示される。これを、独自のアイコンに変更する。 例えば、Firefox ボタンを表示していない従来スタイルのメインウィンドウのアイコンを変えるには、 extensionフォルダ ├ chrome ─ icons ─ default ┬ main-window.ico // windows用 │ └ main-window.xpm // Linux用 └ install.rdf とする。 ウィンドウ名(ウィンドウID) / ダイアログ名(ダイアログID)と同じ名前のアイコンファイルを用意すれば読み込んでくれるようだ。
  • Places/ブックマークを開く際の処理の流れ
    ブックマークメニュー/ツールバー BookmarksEventHandler.onCommand / chrome/*/browser.js   →PlacesUIUtils.openNodeWithEvent / modules/PlacesUIUtils.jsm     →PlacesUIUtils._openNodeIn / modules/PlacesUIUtils.jsm       →openWebPanel / chrome/*/browser.js       →openUILinkIn / chrome/*/utilityOverlay.js BookmarksEventHandler.onClick / chr...
  • メニュー項目を追加する
    ブラウザウィンドウ内のメニューに追加メインメニュー Firefoxメニュー コンテンツ・コンテキストメニュー タブ・コンテキストメニュー ツールバー・コンテキストメニュー Places のメニューに追加 ブラウザウィンドウ内のメニューに追加 chrome.manifest overlay chrome //browser/content/browser.xul chrome //sample/content/browser.xul メインメニュー 例えば、ファイルメニューに「再起動」を追加するなら、browser.xulに menupopup id="menu_FilePopup" menuitem label="再起動" oncommand="Application.restart();&qu...
  • ツールバーの追加
    ツールバーボックスの最後(ブックマークツールバーの下)にツールバーを追加 try { // この部分がないと新規ウィンドウを開いた時の最初のタブが表示されない if(gBrowser.selectedBrowser.getAttribute( blank )) gBrowser.selectedBrowser.removeAttribute( blank ); } catch(e) {}   // ツールバーのノードを作成 const df = window.MozXULElement.parseXULToFragment( ` toolbar id="AdditionalToolbar" toolbarname="追加の...
  • コンソールに出力
    エラーコンソールやブラウザコンソールに出力する。 出力するURLにリンクを張りたいんだけど、無理なのかな… ブラウザコンソールを開く Console.jsmを使ってブラウザコンソールに出力 従来のコンソールサービスを使って出力メッセージを出力 エラー、警告、メッセージをより詳細に出力 reportErrorでエラーを出力 ブラウザコンソールを開く window.HUDService.openBrowserConsoleOrFocus(); windowは"navigator browser"ウィンドウ。 windowがない場合は、 var {devtools} = Cu.import("resource //devtools/shared/Loader.jsm", {...
  • Electrolysis(e10s)
    The message manager | MDN古いページなので内容は微妙だが、概要を日本語で読める。 Multiprocess Firefox - Mozilla | MDN Working with multiprocess Firefox - Mozilla | MDN Message manager - Mozilla | MDN Latest topics > Firefoxアドオンのe10s(マルチプロセス)対応の方針について得られた知見 - outsider reflex e10s対応拡張機能を作成する際は、install.rdf に以下の記述をする。 em multiprocessCompatible true /em multiprocessCompatible これを記述していないと、互換性維持の為のラッパーである CPOWs が勝手に起動しておかしな動作を...
  • Firefoxの主なオブジェクト
    特定の要素を指すオブジェクトgBrowser gURLBar gNavToolbox gNavigatorBundle その他のオブジェクトgContextMenu BrowserSearch TabContextMenu XULBrowserWindow コンストラクタPlacesMenu HistoryMenu 特定の要素を指すオブジェクト gBrowser タブブラウザのメインと言える tabbrowser 要素を指すオブジェクト。タブを開いたり閉じたりといった操作はこのオブジェクトを通してやるのが普通。 tabbrowser.xml gURLBar ロケーションバーを指すオブジェクト。ツールバーカスタマイズで存在しない場合もあるので注意。 urlbarBindings.xml gNavToolbox gNavigatorBundle その他のオブジェクト...
  • 通信を監視してキャンセルする
    通信をキャンセルするだけなので、タブやウィンドウが開いたりとかはする Cu.import("resource //gre/modules/XPCOMUtils.jsm"); Cu.import("resource //gre/modules/Services.jsm"); var httpRequestObserver = { QueryInterface XPCOMUtils.generateQI([Ci.nsIObserver]),   observe function(aSubject, aTopic, aData) { var request = aSubject.QueryInterface...
  • JavaScriptコードモジュール
    JavaScriptコードモジュールの概要 通常のJavaScriptは読み込まれたwindow(document)ごとにオブジェクトが作成される。でもJavaScriptコードモジュールはFirefoxに一つだけ(シングルトン)。初めて呼ばれた時に一度だけ初期化されてオブジェクトが作成され、その一つを複数のwindowが参照する。 windowに依存しない為、ブラウザのwindowオブジェクトやdocumentオブジェクトが参照出来ない(つまりwindow.setTimeoutもdocument.getElementByIdもwindow.XMLHttpRequest使えない)。XPCOMに頼る必要がある。 JavaScript コードモジュール | Mozilla Developer Street (modest) Firefox 3 的なFUELとJSMを存分に使って拡張機能開発を...
  • ページ読み込みやタブ切り替えを監視
    DOMイベントを利用する Using Firefox 1.5 caching | MDN Gecko 固有の DOM Event | MDN // タブの切り替え gBrowser.mTabContainer.addEventListener("TabSelect", function(){}, false); // ページドキュメントの読み込み gBrowser.mPanelContainer.addEventListener("DOMContentLoaded", function(){}, false); // ページの読み込み完了 gBrowser.mPanelContainer.addEventListener("loa...
  • PlacesTransactions.jsm
    Firefox75時点での内容 resource //gre/modules/PlacesTransactions.jsm ファイル冒頭の説明文の翻訳概要 GUIDとアイテムIDに関する注意 トランザクションの構築 トランザクションの実行(トランザクションの | transact | メソッド) バッチ シリアル化 トランザクション履歴の構造 メソッド / プロパティ コンストラクター ファイル冒頭の説明文の翻訳 ※機械翻訳を少し手直ししただけなので、意味が分かりにくい所がある。 概要 * Overview * -------- * This modules serves as the transactions manager for Places (hereinafter PTM). * It implements all the elementary tra...
  • タブ
    タブを開く タブのブラウザオブジェクト (xul browser) を取得 タブのURLを取得特定のタブ カレントタブ タブのindexを取得特定のタブ カレントタブ 特定のタブをアクティブにする コンテントエリアのchromeスクリプトが、それを表示してるタブを取得 タブがピン留めされてるかどうか タブを開く loadOneTab - Mozilla | MDN var aTab = gBrowser.loadOneTab(url, {inBackground false}); タブのブラウザオブジェクト (xul browser) を取得 aTab.linkedBrowser; gBrowser.getBrowserForTab(aTab); //中身は↑ 基本。 browser - MDC Doc Center タブの...
  • Places
    基本情報 id の取得既存のフォルダの id id からアイテムの情報を取得 node の取得フォルダ id からフォルダ node を取得 取得した node で操作PlacesUtils によるノードの判別 フォルダノードからフォルダの中身にアクセスし、処理する 注釈(Annotation) その他の情報 基本情報 Places - Mozilla | MDN nsINavBookmarksService - Mozilla | MDN Places utilities for JavaScript - Mozilla | MDN Cu.import("resource //gre/modules/PlacesUtils.jsm"); Cu.import("resource ///modules/PlacesUIUtils.js...
  • gBrowser/フィールドとプロパティ
    tabbrowser.xml(XBL)で定義されてるフィールドとプロパティの一覧。 XBLにおいて、プロパティはゲッタとセッタから構成される要素。フィールドはゲッタとセッタが存在しないプロパティより単純な要素。 内部使用用途と思われる物(要素名の最初がアンダーバー)は書き出していない。一部を書き出した。 tabbrowser - MDC Doc Center フィールド プロパティ 読み取り専用 gBrowser独自のフィールドとプロパティ tabContextMenu タブのコンテキストメニューを返す。実体は gBrowser.tabContainer.contextMenu → document.getElementById( tabContextMenu ) になる。 tabContainer / mTabContainer タブ...
  • BrowserSearch/searchBar
    search/search.xml#searchbar フィールド/プロパティ _ignoreFocus _clickClosedPopup _stringBundle anonid="searchbar-stringbundle" の要素 _textboxInitialized FormHistory FormHistory.jsm engines 検索エンジンオブジェクトの配列を返す currentEngine 現在の検索エンジンオブジェクトの取得/設定 textbox anonid="searchbar-textbox" の要素を返す value テキストボックスの文字列の取得/設定 メソッド destroy() focus() select() observe(aEngine, a...
  • Places/フォルダ選択ダイアログ作成
    ブックマーク編集パネルにあるPlaceフォルダ選択リストメニュー/ツリービューが使いたかったので。 editBookmarkOverlay.xul と editBookmarkOverlay.js と editBookmarkOverlay.css のコピーみたいな感じに…。editBookmarkOverlay.dtd はコピーせずそのまま使うことにした。 jsコードは editBookmarkOverlay.js を読み込んで gEditItemOverlay のメソッドのいくつかを改造/置き換えた方が早くて楽なんだけど、中の動きを理解するためにあえて必要な部分をまるまるコピーしながら勉強。2箇所ほどバグを発見した…。 ファイル構成 ブラウザにダイアログを開くメニューを追加chrome.manifest browser.xul browser.js ダイアログを作成dialog.x...
  • Places/ブックマークメニューへの項目の追加
    ブックマークメニューへの項目の追加 ブックマークフォルダ内の一番下にある「タブですべて開く」メニューのようにメニューを追加する方法。 ブックマークメニューは動的に生成されてるので、JavsScriptでやる必要がある。 omni.ja/chrome/browser/content/browser/places/browserPlacesViews.js内の PlacesViewBase.prototype._onPopupShowing にコードを追加してやればいい。 下のコードはちょっと古くて今は使えないので注意。ちゃんと調べて適切に実装するように。 eval( PlacesViewBase.prototype._onPopupShowing = + PlacesViewBase.prototype._onPopupShowing.to...
  • スクリプトの読み込み
    Appendix D Loading Scripts - Mozilla | MDN XUL の script タグで読み込む Sub-Script Loader で読み込む サンドボックスを使用して読み込む XUL の script タグで読み込む script type="application/javascript" src="sample.js"/ Sub-Script Loader で読み込む mozIJSSubScriptLoader - Mozilla | MDN Cu.import("resource //gre/modules/Services.jsm"); var tmp = {}; Services.scriptloader.loadSubScript&#...
  • gBrowser
    browser.js で定義されている。 gBrowser = document.getElementById( content ); xul tabbrowser であり、XBLバインディングで tabbrowser.xml#tabbrowser に紐付けされている。 gBrowser/フィールドとプロパティ gBrowser/メソッド gBrowser/イベント gBrowser/tabContainer ブラウザの構成とgBrowser hbox  ├ sidebar-box  │ ├ sidebarheader  │ └ browser  └ appcontent    ├ tabbrowser / gBrowser (tabbrowser.xml#tabbrowser)    │ ├ stringbundle ...
  • 拡張開発環境
    プロファイルの使い分けと同時起動 設定 開発用の拡張 エディタEclipse + Pleiades のインストール方法 Spket IDE のインストール方法 Eclipse設定 バージョン管理 Setting up an extension development environment | MDN Setting up extension development environment | MDN (日本語・情報古い) プロファイルの使い分けと同時起動 開発用プロファイルを用意して普段使いと分けること。 firefox.exe -no-remote -p プロファイル名 プロファイル - Mozilla Firefox まとめサイト 設定 user_pref("javascript.options.showInConsole", true&...
  • Places/ツリーの作成
    Places ツリーを作る ツリークリック時の動作を設定 Places ツリーを作る tree タグでツリーを作ったときに type="places" とし、スタイルシート content/places/places.css を読み込むと、XBLバインディングで Places ツリー本体の content/places/tree.xml が読み込まれる。Places ツリーには content/places/controller.js と content/places/treeView.js も必要で、それらは content/places/placesOverlay.xul でまとめて読み込める。よって基本は ?xml version="1.0"? ?xml-stylesheet href="chrome //globa...
  • @wiki全体から「新しいウィンドウを開く」で調べる

更新順にページ一覧表示 | 作成順にページ一覧表示 | ページ名順にページ一覧表示 | wiki内検索