リロード | 新規新規 編集編集 差分差分 添付添付 バックアップバックアップ | 一覧 検索 最終更新 凍結 複製 改名 | ヘルプ | 最終更新のRSS |

 
userChrome.js用スクリプト 
http://wiki.nothing.sh/2710.html

█ userChrome.js用スクリプト

Last-modified: 2017-05-05 (金) 23:54:40 / Short URL: http://wiki.nothing.sh/2710.html / add to hatena bookmark 25(22+3) users / add to livedoor clip - users

 

インフォメーション

はじめに

ここはMozilla Firefox用のアドオンuserChrome.js及びその派生アドオンuserChromeJSucで利用可能なスクリプトのページです。
Mozilla Firefox まとめサイト調子が悪いのでこちらのWikiを利用させて頂きます。

LODA.JPのファイルについて

LODA.JPは閉鎖されました。

同サイトにあったファイルのうち、
パスワードが掛けられているもの以外
メンテナンス時に消えてしまったもの以外は、
旧アップローダーこちら(単一ファイル)からダウンロードできます
(ファイル名やコメントなどはこちら)。

また、uploader.jp時代のファイルも含めたものは、
こちら(単一ファイル)にあります。

スクリプト入手先一覧

サイト別

 
 

2chやアップローダーに投稿された単品

大いなる過去の遺産

userContent.js

Greasemonkey互換(一部を除く)。

  • userContent.jsは, GM用スクリプトのほとんどが動作すると思う, ツールメニューによりスクリプトのOn/Offの制御が可能。
  • GMの一部のスクリプト(ドキュメント内スクリプトを参照するような)は動作しないようになっています。(セキュリティ面から,それぞれのスクリプトは,スクリプト毎に用意されたXPCNativeWrapperでラップされた名前空間で実行するようになっているため)

userMenu.js

Javascript Actions拡張版。
※userChromeJS上で利用する際は、プロファイル内のchromeフォルダ直下にuserChrome.js(Alice0775版サブスクリプトローダー)を置いて下さい。この環境でないとうまく動作しない場合があります。*8

  • userMenu.js一式同梱スクリプト
    • Use Javascript.auto.js
      • 特徴: user.jsでサイト側の内外部JavaScriptの実行を無効の状態にする。Use Javascript.auto.jsでコンテキストメニューからホスト単位でJavaScriptを有効または再度無効の状態にする。
      • 下準備: プロファイルフォルダ直下にuser.jsを作成*9する。「user_pref("capability.policy.default.javascript.enabled", "noAccess");」と記述して保存する。(userMenu.js.readme.txt参照)

補足

  • userMenu.js, サブメニューのネスト, タブメニューやメインメニューなど, より拡張されている。
  • Ver0.9以降新機能にタブ毎にセキュリティ・ポリシーを設定できるタブコンテキストメニューが追加された。
  • JSAに比べセキュリティが強化されているため一部のスクリプトは修正が必要。

Tips

  • Tips(userContent.js ver. 1.0,userMenu.js ver. 0.9)
    セキュリテイからGM用スクリプトが動作できない場合, 以下の修正を行うことで動作するようになります。(ver1.0)
    元のGM用スクリプトに以下に示す最初3行と最後1行を追加する。
    var namespace = new unsafeWindow.Function();
    namespace.prototype = this;
    eval((function(){ (function(){
    ......元のGM用スクリプト本体
    })(); }).toSource() + '();',new namespace());
  • Tips(userContent.js ver. 1.11,userMenu.js ver. 1.0)
    1. jsaのようにComponentsを使えるようにするには
    var global = new chromeWindow.Object();
    global.window = unsafeWindow;
    global.document = unsafeDocument;
    global._jsaCScript = _jsaCScript;
    eval('(' + function(){
    最後に↓を追加.
    }.toSource() + ')();',global);
    または
    var namespace = new unsafeWindow.Function();
    namespace.prototype = this;
    eval((function(){ (function(){
    ......元のJSA用スクリプト本体
    })(); }).toSource() + '();',new namespace());
    2. JsActions.scriptFolderPathは,_jsaCScript.currentScriptPath.replace(/[^/\\]+$/,'')で代用
    3. windowオブジェクトをなるべく保持するようになった

    1.11ではwindowオブジェクトをなるべく保持するようになっているので,AutoPagerizeの場合, 同スクリプト内の
    if (typeof(window.AutoPagerize) == 'undefined') {
    window.AutoPagerize = {}
    window.AutoPagerize.addFilter = function(f) {
    AutoPager.filters.push(f)
    }
    window.AutoPagerize.addDocumentFilter = function(f) {
    AutoPager.documentFilters.push(f)
    }
    }
    //if (typeof(window.AutoPagerize) == 'undefined') {
    window.AutoPagerize = {}
    window.AutoPagerize.addFilter = function(f) {
    AutoPager.filters.push(f)
    }
    window.AutoPagerize.addDocumentFilter = function(f) {
    AutoPager.documentFilters.push(f)
    }
    //}
    としないと, filterが機能しないようです。これは,元のAutoPagerizeのバグと思われる。
    4. windowオブジェクト下のonloadを初めとする「on〜」と言う一連のイベント用のコールバックは使えないので,unsafeWindowを使う必要があります.これはGMでも同様.
    window.addEventListenerは動作しますが,ver. 1.1でスクリプトの起動タイミングが遅くなったため,loadイベントの後にスクリプトが起動され,イベントを捕らえられない事があります.
    5. Exception... "'Permission denied to get property Function.__parent__' when calling method:.....

    非特権コードから特権コードを呼び出そうとして失敗したんじゃないかと.
    メタデータに「@privilege false」(ver1.2ではバグのためtrueとする)を追加するか,userContent.pl.jsの「USE_GM」を「2」にすれば動くと思います.
    6. ReferenceError : 定義されていない

    極一部を除くchromeWindow下のプロパティやメソッドを,chromeWindowを省略して呼び出せなくなりました.
    7. GM_Modoki.jsl:GM_xmlhttpRequestのイベントハンドラでの例外が発生する場合, 同メソッドの該当箇所を下記のようにする。
    setTimeout(function(){
    if(typeof obj.data == 'string') req.send(obj.data);
    else req.send(null);
    }, 500);
    ※ver1.2では上記対策済み。
    8. malformed URI sequenceエラー
    UTF-8 でないファイルをUTF-8として扱おうとして出るエラーです.
  • pl.jsファイル中のUSE_UTF8とUSE_GM
    • USE_UTF8が「2」→全てのファイルをUTF-8で保存するか「1」に変更する.
    • USE_UTF8が「1」→該当ファイルに適当な日本語の注釈文入れて自動判別が成功する.
    • USE_GMが「2」→*.user.jsを全てUTF-8で保存する.

adblock#.uc.js

Adblock軽量版。
当初公開していたアップローダー『LODA.JP』が閉鎖したため現在はこちらで公開している。

関連項目

ご意見

  • テスト書き込み -- 名無し? 2013-05-08 (水) 09:04:30
  • 流石にページ長すぎだろ。そろそろ分割した方がいい。 -- 2013-05-17 (金) 22:48:16
  • 目次だけは統合されてないと不便じゃないかな -- 2013-05-21 (火) 06:13:44
    • 目次を維持したまま分割しようとするとサイト別にページを作らないといけなくなるので難しいですね -- 2013-05-22 (水) 19:02:16
    • 1つの方法としては、ページを階層化したうえで、ls2を使うというのがある。 -- 2013-05-22 (水) 21:44:54
  • アルファベット順とか、時系列順とか、何らかの基準に従って分割しないと分かりにくいと思うのだが。 -- 2013-05-22 (水) 21:32:18
  • とりあえずls2でやってみました -- 2013-05-23 (木) 14:42:15
  • そろそろ2分割から3分割にしてほしい。スクリプト配布サイト3。 -- 2014-01-16 (木) 10:24:19
  • スクリプト配布サイト3作成。 -- 2014-12-06 (土) 09:33:06
  • しつこく荒らしに消されるので、書き戻すついでに統一感のなかった見出しルールを整理した。 -- 2016-10-04 (火) 08:29:09

 

*1 作者のブログは閉鎖されている
*2 Firefox10まではabout:configの「browser.search.openintab」の値をtrueにした状態で検索バーから検索した時に背面のタブで開かれるようになっていたが、「browser.search.openintab」の値をtrueにした状態で、検索した時にアクティブ状態の新しいタブで開かれるようになっている
*3 コメントアウト部分に書かれている「user.jsにuser_pref("permissions.default.script", 1〜3);を追記」でもOK
*4 v0.4ではvalue:に2種類の値を設定してクリックで切り替え可能
*5 「TabsToolbar」と記入するとタブバー右端に表示される
*6 loda.jp-script.7zに収録
*7 メモリ使用量が閾値を超えた時
*8 Alice0775版でないサブスクリプトローダーを使用しているucではFirefox本体やucのバージョンによっては動作しない場合があります
*9 UTF-8で保存する

(HTML conversion costs 0.016 sec.)