トップページsoftware
1001コメント321KB

Firefox userChrome.js greasemonkeyスクリプトスレ14

レス数が1000を超えています。これ以上書き込みはできません。
0001名無しさん@お腹いっぱい。2010/11/18(木) 15:29:37ID:QPZlij7E0
質問は必ずまとめサイトに目を通した後にして下さい。

■まとめサイト
firefoxまとめサイト
ttp://firefox.geckodev.org/
ttp://firefox.geckodev.org/index.php?cmd=read&page=Greasemonkey
ttp://firefox.geckodev.org/index.php?cmd=read&page=userChrome.js

■前スレ
Firefox userChrome.js greasemonkeyスクリプトスレ13
http://hibari.2ch.net/test/read.cgi/software/1280677666/

■拡張機能
greasemonkey
ttp://www.greasespot.net/
Userscripts.org
ttp://userscripts.org/

"alta88's userChromeJS"
ttp://userchromejs.mozdev.org/index.html
userChromeJS フォーラム
ttp://forums.mozillazine.org/viewtopic.php?f=48&t=1006795

"zeniko's userChrome.js"
ttp://mozilla.zeniko.ch/userchrome.js.html
userChrome.js フォーラム
ttp://forums.mozillazine.org/viewtopic.php?t=397735
ttp://forums.mozillazine.org/viewtopic.php?t=556229
userChrome.js 0.8 (FX) - Add-ons Mirror
ttp://forum.addonsmirror.net/index.php?showtopic=6878
0951名無しさん@お腹いっぱい。2011/04/01(金) 14:04:20.47ID:J9Ncbpto0
>>950
なかなかいいアイディアだと思ったが、それだとfireroxボタンいらなくね?
0952名無しさん@お腹いっぱい。2011/04/01(金) 16:03:32.61ID:t4XUu6gN0
>>951
だーか−らーどっちも使えるようにしてるんじゃん
0953名無しさん@お腹いっぱい。2011/04/01(金) 19:10:33.56ID:QO4zT0zO0
>>946
うん、ちゃんと動いてる。ブックマークをサイドバー以外でも
左クリックだけで新タブで開いてくれてる。
メモ帳に>>941をコピペして名前付けて.uc.jsでchromeフォルダに置いただけ。
0954名無しさん@お腹いっぱい。2011/04/01(金) 19:15:29.33ID:uu5MVeCZ0
貼り付けるときに半角スペースが に置換されてんでねーの
0955名無しさん@お腹いっぱい。2011/04/01(金) 19:37:11.41ID:LeXz3olf0
>>954
それでしたorz
0956名無しさん@お腹いっぱい。2011/04/02(土) 00:27:33.54ID:clZRD6Nj0
>>950
便利そう
よければ是非教えて
0957名無しさん@お腹いっぱい。2011/04/02(土) 02:04:50.95ID:BnD5IEGG0
>>941のスクリプトはフォルダに入ったブックマークを「すべてタブに開く」ときは
カレントタブに上書きするようだね。
0958名無しさん@お腹いっぱい。2011/04/02(土) 02:21:10.58ID:4ixmx2IW0
>>957
eval('PlacesUIUtils.openContainerNodeInTabs = ' + PlacesUIUtils.openContainerNodeInTabs.toString().replace(
  'this._openTabset',
  'aEvent.button = 1; $&'
));
0959名無しさん@お腹いっぱい。2011/04/02(土) 02:37:39.46ID:BnD5IEGG0
  ヘ⌒ヽフ
  ( ・ω・) dd
  / ~つと)
0960名無しさん@お腹いっぱい。2011/04/02(土) 09:31:24.72ID:6buu0aGq0
AutopagerizeをJSオンで動かすとGoogle Image検索で
サイズやテキストが表示されなくて嫌だったんだが

GIS_AutoPager.user.js と For_GIS_AutoPager(GreaseMonkey) を入れたらとりあえずそれっぽくなった

スクリプトを増やすと保守が面倒になるけど、Google Image検索で動かなくなったんだから仕方ない

以上、同じトラブルで検索してる人用カキコ
0961名無しさん@お腹いっぱい。2011/04/02(土) 16:37:28.50ID:xNA+Ki9P0
Fx4用のmigemo検索はどっかありますか?
0962名無しさん@お腹いっぱい。2011/04/02(土) 16:53:14.33ID:D54gdphg0
Firefox新しく入れなおして、Heat the Nicovideo up も入れ直したら、
スクリプト自体はインストール出来ても、内部で ttp://blog.fulltext-search.biz/ からスクリプトダウンロードしてて、
そのアドレスが落ちてるせいで、実質使えなくなってしまった・・・ドウスレバイインダ
0963名無しさん@お腹いっぱい。2011/04/02(土) 17:01:32.84ID:8GUDZezE0
NicoWatch ToolsのHeatMeter(使ってないないから動作不明)
nicocacheのスレのラッパーこっちなら確実に動く
どちらかかな
0964名無しさん@お腹いっぱい。2011/04/02(土) 17:58:06.24ID:5RdY5jdA0
Wrapperってそんなの出来たんだ
0965名無しさん@お腹いっぱい。2011/04/02(土) 18:00:38.53ID:8GUDZezE0
ヒートマップ(熱狂度を表す色のついた帯)
コメの書き込み多いところ見つけるやつという認識だけどあってる?
ならラッパーに搭載されてる。新方式のコメ読み込みにも対応してるね。
0966名無しさん@お腹いっぱい。2011/04/02(土) 18:06:48.71ID:xQViDqdx0
AutoLoginJが4に対応してないね
作者さん対応お願いしますm( __ __ )m
0967名無しさん@お腹いっぱい。2011/04/02(土) 19:27:14.62ID:BnD5IEGG0
>>966
作者さんは米国の人だし、2chでお願いしても届かないだろう。
Twitterで@を飛ばした方がいいよ。
0968名無しさん@お腹いっぱい。2011/04/02(土) 19:57:04.90ID:9VtBbCRi0
>>954ってどういうことなの?
>>958を入れてみたけど、動かないから半角スペースを入力しなおしてみたけど、動かない。
0969名無しさん@お腹いっぱい。2011/04/02(土) 20:54:36.57ID:sO9UKmtq0
>>968
それだけじゃ分からない。まずは以下の点を確認
・スクリプト自体はロードされているか
・エラーコンソールにエラーが出ていないか
・他にタブ系アドオンやスクリプトを入れてないか
・「タブをすべて開く」の oncommand 属性に記述されているコードの中身 (DOM Inspectorで調べられる)
0970名無しさん@お腹いっぱい。2011/04/03(日) 02:56:21.60ID:S6ecesGf0
firefox4.0で検索バーの右側に履歴を出すボタンを表示し履歴が出るようにしたいのですが
↓三角ボタンは出るんですけど履歴が出ません、どうやればいいんでしょうか?よろしくお願いします

/* 検索バーの右側に履歴を出すボタンを表示 */
#searchbar .autocomplete-history-dropmarker {
display: -moz-box !important;
-moz-binding: url("chrome://global/content/bindings/autocomplete.xml#history-dropmarker");
}
0971名無しさん@お腹いっぱい。2011/04/03(日) 03:15:32.32ID:l/ps+NZ20
うちそれで三角も履歴のリストもしっかり出るよ
0972名無しさん@お腹いっぱい。2011/04/03(日) 03:48:01.34ID:CIuYJYB+0
オレも出た
何かいいもん教えてもらっちゃったな
0973名無しさん@お腹いっぱい。2011/04/03(日) 04:15:07.67ID:yueQNFUM0
ねぇうちのXPのテーマが悪いのかもしれないが>>970をいれるとボタンが上下矢印のやつが表示されてデザインが変なんだがcssで矢印のデザインをかえられないかな?
普通に画像で紹介されていた▼のやつでいいんだけど、指定のしかたがあったら教えて。
0974名無しさん@お腹いっぱい。2011/04/03(日) 04:39:57.35ID:uj9uSYCa0
>970
そのその記憶させてないんじゃね?
0975名無しさん@お腹いっぱい。2011/04/03(日) 06:29:13.33ID:S6ecesGf0
>>974
あちこちいじって履歴の記憶のチェックが外れてました・・・
お騒がせして申し訳ないっす
0976名無しさん@お腹いっぱい。2011/04/03(日) 08:27:08.42ID:7U8A//fg0
置いときますね

    ┏━┳━━┳━┓
    ┣ヽ  ̄ / (・ω・)┫
    ┣━━╋━╋━┫
    ┣、ハ,,、 \(. \ ノ┫ズコープラモ
    ┗┻━━┻━┻┛
0977名無しさん@お腹いっぱい。2011/04/03(日) 09:21:19.81ID:I2cEQh+Z0
Search MarkerとFind Toolbar Tweaksの相性が悪い(Ctrl+Fが効かなくなる)から
KeySnailでCtrl+F:ページ内検索バーの開閉機能付けたんだけど二点程質問。
・function()とfunction (ev, arg)の違いがよくわからん。引数にevやargを使わないときは前者で問題ない?
・こういうコード追加していくとKeySnail単体が重くなって結局アドオンやjs入れた時と変わらなくなる?

function () {
if (!gFindBar.hidden) {
gFindBar.close();
} else {
gFindBar.onFindCommand();
}
}
0978名無しさん@お腹いっぱい。2011/04/03(日) 12:35:03.27ID:6I9DALRM0
ブックマークツールバー(上)で、フォルダをクリックした際に表示されるアイテムの一番下に、

Bookmark 1
Bookmark 2
Bookmark 3
-----------
フォルダに移動


という項目をつけ、クリックすると、サイドバー(左)で該当のブックマークフォルダを開く といった動きをさせたいのですが、
どういうようなスクリプト or CSS を書けばいいでしょうか?

Greasemonkey、userChrome.js、Stylish のどれでも構わないので、アドバイス頂けないでしょうか
0979名無しさん@お腹いっぱい。2011/04/03(日) 13:21:45.74ID:h6Ncsmrb0
>>977
1.前者で問題ない。
2.重くなるってのがどういう意味かにもよると思うけど、コード量が同じなら変わらないんじゃない?
むしろKeySnailを仲介する分だけ余分に重くなるかも?
もっとも、コード量が同じって事はありえないと思うけど。

>>978
それって、ブックマークサイドバーを開いて目的のフォルダを選択・展開状態にしとくってこと?
それとも目的のフォルダの中身のみをサイドバーに表示ってこと?
0980名無しさん@お腹いっぱい。2011/04/03(日) 13:41:05.44ID:6I9DALRM0
>>979
レスありがとうございます。前者のフォルダを選択・展開状態の方です。
可能ですかね?
0981名無しさん@お腹いっぱい。2011/04/03(日) 14:07:15.36ID:TRO96ja40
firefox拡張機能スレより誘導されてきました。

custom buttonのスクリプトで、フレームを指定する場合はどのように指定すれば良いのでしょうか?
ローカルで作成したフレーム構成のページにアクセスし、ボタンを押す事でフレームの一部をあらかじめ
指定したページに飛ばす、というボタンを作りたいと考えています。

構成としては親フレームのmain.html、親フレームから呼び出されるname="FRAME1"、name="FRAME2"という
子ページが2つあります。
FRAME1に対してページの移動を行いたいと思い、
window.top.FRAME1.content.document.location = "http://google.co.jp";
このように指定しました。
しかし、「エラー: window.top.FRAME1 is undefined」が出てしまいました。
0982名無しさん@お腹いっぱい。2011/04/03(日) 14:14:11.77ID:I2cEQh+Z0
>>979
レスありがとう。
例えばページ内検索バーをCtrl+Fで開閉させるアドオンやjsはすぐに見つかるんだけど
単機能のものを細切れに追加していくと無駄に負担が大きくなるだけかなと思って追加するの躊躇ってたんだ
どっちにしろコードが増えることに変わりないんだから書かないのに比べて重くなるんだね
0983名無しさん@お腹いっぱい。2011/04/03(日) 15:39:49.53ID:h6Ncsmrb0
>>980
前者か。そのものズバリのコードをすぐに出すのは俺ではちょっと無理(つーか、面倒)だわ。
ごめん。他の人を頼ってくれ。

一応、アドバイスっぽいもの。

まずメニューに追加するのからして面倒。
拡張の Add Bookmark Here2 がメニュー追加をやってるので、参考にするといい。
ちょっと見たら、PlacesViewBase.prototype._onPopupShowing を改造すればいいっぽい。
ブックマークコンテキストメニューの方に追加するならXULを弄るだけだから楽なんだが…。

で、肝心のフォルダ選択・開く方は、拡張の Manage Folders を参考にすればいいと思う。
管理画面でフォルダを開く拡張だけど、やる事はかなり似てる。
ツリー取得の部分をブックマークサイドバーのツリーに置き変えて…ってやればいいんじゃないかな。
0984名無しさん@お腹いっぱい。2011/04/03(日) 15:40:30.74ID:bEoIHZQW0
google仕様変更でAutoPagerizeやGoogleMonkeyR
画像検索での GIS_AutoPager.user.jsが For_GIS_AutoPager
が動かなくなってるわ。もう一度0から作り直して原因突き止めないといけないんか・・・
0985名無しさん@お腹いっぱい。2011/04/03(日) 15:50:05.81ID:h6Ncsmrb0
>>981
俺はcustom button使ってないしよくわからんのだが、
そのmain.htmlってのはタブにロードしてるんだよね?
window.content.FRAME1.location = "http://〜";
じゃないか?
Webコンソールで色々打ち込んで確認してみればいいのに。
0986名無しさん@お腹いっぱい。2011/04/03(日) 16:01:45.58ID:YpfyLJug0
>>981
chromeなコードからコンテンツにアクセスするには window の代わりに window.content を使う
但しこのオブジェクトはセキュリティ上の理由からXPCNativeWrapper(Fx4ではXrayWrapper)で
ラップされてるので幾つかの制限事項がある
https://developer.mozilla.org/ja/XPCNativeWrapper

制限によってフレーム名による直接アクセスができない(*)ので代わりに以下のように書く
const url = "http://www.google.co.jp";
var win = window.content;
win.frames[0].location.href = url;

どうしても名前でアクセスしたいなら以下のようにも書ける
win.document.getElementsByName('FRAME1')[0].contentWindow.location.href = url;

でもname属性を使うのは古い方法。id属性を定義して以下のように書くのがベター
win.document.getElementById('FRAME1').setAttribute("src", url);


(*) wrappedJSObjectでラップを剥がせば以下のようにも書けるけど非推奨
var win = window.content.wrappedJSObject;
win.FRAME1.location.href = url;
0987名無しさん@お腹いっぱい。2011/04/03(日) 16:04:22.92ID:h6Ncsmrb0
あ、ごめん、すごい馬鹿言った。985は無しで(/ω\)ハズカシーィ
0988名無しさん@お腹いっぱい。2011/04/03(日) 16:07:39.26ID:h6Ncsmrb0
うひぃぃ、しかも直前に詳細な解説が
 ∧||∧
(  ⌒ ヽ
 ∪  ノ
  ∪∪
0989名無しさん@お腹いっぱい。2011/04/03(日) 16:40:55.42ID:NAJ7yW1a0
openLibraryContextMenu.uc.xul
0990名無しさん@お腹いっぱい。2011/04/03(日) 17:22:20.38ID:NAJ7yW1a0
を参考にすればいいんじゃない >>978
0991名無しさん@お腹いっぱい。2011/04/03(日) 17:32:41.21ID:YpfyLJug0
>>978
でけた [1/3]

var OpenBMFolderInSidebar = {
  init: function(){
    eval('PlacesViewBase.prototype._onPopupShowing='+PlacesViewBase.prototype._onPopupShowing.toString().replace(
      'this._mayAddCommandsItems(popup);',
      '$&; OpenBMFolderInSidebar.onPopupShowing(popup);'
    ));
  },
  onPopupShowing: function(aPopup){
    if(aPopup._endOptOpenBMInSidebar) return;
    var menuitem = document.createElement("menuitem");
    menuitem.setAttribute("label", "Open In Sidebar");
    menuitem.setAttribute("oncommand", "OpenBMFolderInSidebar.openInSidebar(this.parentNode._placesNode, event)");
    aPopup.appendChild(menuitem);
    aPopup._endOptOpenBMInSidebar = menuitem;
  },
  // つづく
0992名無しさん@お腹いっぱい。2011/04/03(日) 17:37:46.75ID:YpfyLJug0
[2/3]

  openInSidebar: function(aNode, aEvent){
    var targetNode = aNode;
    var sidebar = document.getElementById("sidebar");
    if(sidebar.currentURI.spec != "chrome://browser/content/bookmarks/bookmarksPanel.xul"){
      sidebar.addEventListener("load", function(){
        sidebar.removeEventListener("load", arguments.callee, true);
        window.setTimeout(function(){
          OpenBMFolderInSidebar.selectFolder(OpenBMFolderInSidebar.getBMTree(sidebar), targetNode);
        }, 100); //← 適当にウェイトを調整
      }, true);
      toggleSidebar("viewBookmarksSidebar");
    }else{
      OpenBMFolderInSidebar.selectFolder(OpenBMFolderInSidebar.getBMTree(sidebar), targetNode);
    }
  },
  // つづく
0993名無しさん@お腹いっぱい。2011/04/03(日) 17:39:02.02ID:YpfyLJug0
[3/3]

  getBMTree: function(aSidebar){
    return aSidebar.contentDocument.getElementById("bookmarks-view");
  },
  selectFolder: function(aTree, aTargetNode){
    var view = aTree.view;
    aTree.selectItems([aTargetNode.itemId], true);
    var index = view.selection.currentIndex; if(index < 0) return;
    if(!view.isContainerOpen(index)) view.toggleOpenState(index);
    aTree.treeBoxObject.ensureRowIsVisible(index);
    aTree.focus();
  }
};
OpenBMFolderInSidebar.init();
0994名無しさん@お腹いっぱい。2011/04/03(日) 17:40:17.89ID:AGR2pHtH0
>>990
おつかれ
0995名無しさん@お腹いっぱい。2011/04/03(日) 17:54:18.58ID:pN/vprQf0
>>703と似た内容かもしれませんが、
例えば50msでページ縦サイズの5分の1、下にスクロールするという動きを実現するには
どういうようなスクリプトを書けばいいでしょうか?
0996名無しさん@お腹いっぱい。2011/04/03(日) 18:03:23.64ID:YpfyLJug0
>>995
setInterval で 1ms 毎に 縦サイズ÷5÷50 だけスクロールするようにすればいいんでないの
0997名無しさん@お腹いっぱい。2011/04/03(日) 18:08:00.35ID:YpfyLJug0
言い忘れたけど>>991-993 はFirefox 4用。他の環境で動くかは試してない
(>>978 が動作環境を書いてなかったので)
0998名無しさん@お腹いっぱい。2011/04/03(日) 18:29:13.68ID:FSNLh2dv0
大変だ
次スレが無いぞ
0999名無しさん@お腹いっぱい。2011/04/03(日) 18:33:40.70ID:NAJ7yW1a0
ウメ
1000名無しさん@お腹いっぱい。2011/04/03(日) 18:34:00.48ID:NAJ7yW1a0
1000
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。