Firefox userChrome.js greasemonkeyスクリプトスレ38
■ このスレッドは過去ログ倉庫に格納されています
de XULって書いてあるし
XULの除去ってことでしょうよ >>714
xul(ズール)は検索すればでてくる
jsがわからないのかしら
JavaScript greasemonkey3.17ってもう手に入らないのですか? ここはスクリプトのスレであってアドオン本体のスレじゃねえんだが
Classic Add-ons Archive
https://github.com/JustOff/ca-archive/releases
を入れて検索しろ >>721
公式にあったよ
https://github.com/greasemonkey/greasemonkey/releases/tag/3.17
これのzipを落として一旦展開して中身をがっーっとzipに圧縮しなおして拡張子をxpiにすればいいだけ
といっても多分わからないだろうからxpiも作ってみたよ
https://www.axfc.net/u/3950044
pass:greasemonkey そういえばTampermonkeyとかの亜種系ってGM.には対応してるの? >>722
>>723
ありがとうございます。
斧からはうまくダウンロードできなかったので
公式からxpiを作成して対応しましたm(__)m 「自分が Greasemonkey から実行されているのか Tampermonkey から実行されているのか、
それとも Violentmonkey なのか、はたまた Scratchpad なのか コンソールなのか」
を判定する、スマートな方法ってありますかね?
new Error().stack の文字列を手がかりにするくらいしかないかな? GM_が使えるなら
console.log(GM_info['scriptHandler']); >>732 GM_ みたいのが各スクリプト実行環境にあればいいんだけどねー。
やりたかったのは、こういうことでした。デバッグ・開発支援用の log 関数。
https://gist.github.com/knoajp/68d185ce71cb1a50c72857f0dc959b6a ここのスレの今日の書き込みの件数を知りたいのですが
どうやるのか教えて下さい
私はdocument.evaluate('//div[@class="formbox"]',document,null,7,null).snapshotItem(0);のnextSiblingに
let now = new Date();で今日の日付と曜日を作って
document.evaluate('//SPAN[@class="date"]',document,null,7,null);と今日の日付が startsWith した meta の色は変えられたのですが
件数が勘定できません 前にも似たような質問あったよな
.bbs_res_timeの内容を適当に整形してclassとして付加
それと同じ形式に整形した今日の日付でgetElementsByClassName(今日の日付).length let count=0;
for(let h = 0; h < posts.snapshotLength; h++) {
let post = posts.snapshotItem(h);
if(post.textContent.startsWith("2018/10/04")){count++}
}
alert(count); >>735
>>736
いつも有難う御座います
2019年01月04日(金)だと、321と三つできてしまっていたのですが
くくりの外に出したらできました
これを書き込んで4になるか楽しみです // @grant GM_xmlhttpRequest
// @grant GM.xmlhttpRequest
let aaa = GM_xmlhttpRequest || GM.xmlhttpRequest;
複数のバージョンの対応どうしてる?
これ長すぎない? 長くない
もっと長くしろ
長くしたほうが読みやすい
変数aaaに意味ある名前を付けて
複数のバージョンはしらん メニューコマンド使えないからGM.対応できねーよ
それともJSのビルトイン関数で作れんのか? グリモン公式のgm4-polyfillでGM_registerMenuCommandもあるけど
Firefoxでも今後削除予定のcontextmenu属性使っててなんだかなぁ
グリモン4的にはページにUI埋め込めば?って方針なんだろうな
スクリプト作る側からしたら対応めんどくさいのはグリモン対応切るだけなんだよな >>741
あれコンテキストメニュー扱いなのか、で削除予定なの?
ツールバーのパネルの部分だからどうにか対応して欲しいな
ボタン作って挿入すんのめんどいんだよ >>742
グリモン3/Tampermonkey/Violentmonkeyのツールバーボタンからのやつは廃止予定のHTMLコンテキストメニューとは全く関係ないよ
グリモン4は本体にメニューコマンド機能が無いけどユーザースクリプトに@requireして動かす旧APIのpolyfilがあるが当然拡張のボタンにはメニューを作れないので代わりにページ内のコンテキストメニューに突っ込む
だからお手軽GM_registerMenuCommandで済むようなのはpolyfill使うのもバカらしいしグリモン4捨てた方が楽だよねって事 XBLが残り30%切ったのでXBL使わない方法を考えた
Services.scriptloader.loadSubScriptはまだ使えるだろう
userChrome.jsの読み込みを追記したbrowser.xulでoverrideしてしまえば良い
そんな感じでポータブル版で試してみたら今使っているスクリプトすべて無改造で使えた
アップデートする度にbrowser.xulを保存して編集する必要があるからNightlyには向かないが
omini.ja解凍してどうのこうのより楽だしloadSubScript使うファイルはxulである必要性がないし
まだ延命できそうだ モニタが壊れた━━━━━━━(゚∀゚)━━━━━━━━!!
モニタの電源ONで一瞬ついてすぐに切れる ツールバーに表示されるuserChrome.jsを、メニューバーに移動したいんだけど、
rebuild_userChrome.uc.jsをどう編集したらいいでしょうか
(ブックマークの隣に移動したい) >>739
長々書いたら可読性落ちない?
スクリプト配布してる人はGM_xmlhttpRequestのバージョン対応どうやってる? >>1の投稿サイト行って他人のスクリプト見て回ればいいじゃん
グリモンそのものをばっさり切り捨ててるパターンがほとんどだろうけど >>738 の @grant はもともと1つは書かなきゃならないし、
GM_xmlhttpRequest という長い関数に短い別名を与えることも、よくある書き方。
となれば、計3行くらい、自分はぜんぜん気にならないな。 一応XBL使わない方式の導入方法書いてみた
現時点でこっちの方法使うメリットは何一つないし
アップデート後にファイルいじる必要があるから面倒くさいんだけど参考までに
userChrome.js導入deXBL.txt
https://u6.getuploader.com/script/download/1774 あはははは・・・( ^ω^)・・・ご都合主義!
http://answers.microsoft.com/ja-jp/profile/5dd89a79-a5a5-4d77-87f8-715350dec4cc
コミュニティは、マイクロソフト社に質問したり、文句を言ったり、バグを報告したり、要望を上げるところではありません。
当然、マイクロソフト社が回答することもありません。他の一般ユーザがボランティア、善意で回答するところです。
なので、質問者は、回答の成否の結果や採否の旨を回答者とコミュニティに報告しましょう。
それが他人の参考事例になります。質問者もそうやってコミュニティに貢献しましょう。 Microsoft、「Edge」を「Chromium」ベースへ移行
〜プレビュー版を提供〜 米Microsoftは12月6日(現地時間)、
「Microsoft Edge」を「Chromium」ベースへ移行する計画を発表した。
市場で圧倒的なシェアを握る「Chromium」と互換性を持たせて、
異なるエンジンが乱立する“断片化”を防ぎ、よりよいWebを実現するためであるという。
https://forest.watch.impress.co.jp/docs/news/1157163.html
https://www.microsoftedgeinsider.com//images/announcement/hero.png >>756
ツールバーに表示されるuserChrome.jsって何?
メニュー>ツールにあるはず >>759
お前、誰じゃ!
756か?
どこがアホか教えろ >>756はどうせおっパブ馬鹿だろ
過去にも同じ質問で暴れてる スクリプターなら『画像URL取得ショートカットを追加するスクリプト』を想定するだろう 『対象をファイルに保存』、『リンクのコピー』、『名前を付けて画像を保存』、『画像の共有』
が有って『画像アドレスのコピー』が無いのは、仕様バグ(無能人災)でしょうね。 (function(){
var myContextMenu = document.getElementById('js-contextmenu');
document.body.addEventListener('contextmenu',function(e){
var showX = e.pageX;
var showY = e.pageY;
myContextMenu.style.left = showX+'px';
myContextMenu.style.top = showY+'px';
myContextMenu.classList.add('show');
});
document.body.addEventListener('click',function(){
if(myContextMenu.classList.contains('show')) {
myContextMenu.classList.remove('show');
}
})
}()); <body onContextmenu="return false;">
<body onContextmenu="return true;"> <head>
<meta charset="UTF-8">
<title>Demo</title>
<link rel="stylesheet" type="text/css" href="style.css">
<meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=yes">
</head> <div class="my-contextmenu" id="js-contextmenu">
<ul>
<li>menu1</li>
<li>menu2</li>
<li>menu3</li>
</ul>
</div> * {
box-sizing: border-box;
-webkit-box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
width:100%;
height: 1000px;
}
.clearfix:after,
.clearfix:before {
display: block;
content: "";
clear: both;
}
.container {
width: 100%;
height: 100%;
background-color: #fff;
}
h1 {
margin: 20px 0;
font-size: 20px;
text-align: center;
} * {
box-sizing: border-box;
-webkit-box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
width:100%;
height: 1000px;
}
.clearfix:after,
.clearfix:before {
display: block;
content: "";
clear: both;
}
.container {
width: 100%;
height: 100%;
background-color: #fff;
}
h1 {
margin: 20px 0;
font-size: 20px;
text-align: center;
} .my-contextmenu {
display: none;
position: fixed;
width: 200px;
background-color: #fff;
border: 1px solid #ccc;
box-shadow: 1px 1px 1px rgba(0,0,0,.2);
z-index: 1000;
}
.my-contextmenu.show {
display: block;
}
.my-contextmenu ul {
list-style: none;
padding: 10px 0;
}
.my-contextmenu ul li {
padding: 4px 10px;
font-size: 14px;
color: #333;
} <html></html>
<head></head>
<style></style>
<scLipt></scLipt>
<div></div>
<body></body> テストコード (scLiptはLをrに)
<!DOCTYPE html><html lang="ja"><head></head><body onContextmenu="return false;"><h1>右クリックしてみよう!!</h1>
<style>*{box-sizing:border-box;-webkit-box-sizing:border-box;margin:0;padding:0;}body{width:100%;height:1000px;}
.clearfix:after,.clearfix:before{display:block;content:"";clear:both;}.container{width:100%;height:100%;background-color:#fff;}h1{margin:20px 0;font-size:20px;text-align:center;}
.my-contextmenu{display:none;position:fixed;width:200px;background-color:#fff;border:1px solid #ccc;box-shadow:1px 1px 1px rgba(0,0,0,.2);z-index:1000;}
.my-contextmenu.show{display:block;}.my-contextmenu ul{list-style:none;padding:10px 0;}.my-contextmenu ul li{padding:4px 10px;font-size:14px;color:#333;}</style>
<div class="my-contextmenu" id="js-contextmenu"><ul><li>menu1</li><li>menu2</li><li>menu3</li></ul></div>
<scLipt> (function(){var myContextMenu = document.getElementById('js-contextmenu');
document.body.addEventListener('contextmenu',function(e){var showX = e.pageX;var showY = e.pageY;
myContextMenu.style.left = showX+'px';myContextMenu.style.top = showY+'px';myContextMenu.classList.add('show');});
document.body.addEventListener('click',function(){if(myContextMenu.classList.contains('show')){myContextMenu.classList.remove('show');} }) }() );</scLipt></body></html> >>760>>762
いつものおマヌケガイジ妨害荒らしだぞこいつら、数年前から粘着してるゴキブリ 数日前からJapanizeの鯖が死んでる気がするんだが
ググっても反応してる人が誰もいない コントロールテキストメニューが作れるようだね (^^♪ imitationLightbox_007+に似たスクリプトや拡張ご存じなら教えてください
サイトによってはこいつがonになってるとリンク先に行けなかったりする事がまれによくある zenzawatch DEV版でも連続再生やシャッフル再生ができないの俺だけかのう 正規表現で
2019年1月1日 → 2019年01月01日
にしたいのですが
いい方法がありますか? わかりました
こうだ!
.replace(/年([1-9])月/, "年0$1月");
.replace(/月([1-9])日/, "月0$1日");
3時間悩みました 5分悩みました
["2019年1月1日","2019年12月31日"].map(d=>d.replace(/([1-9]+)(?=月)/,(m,p)=>`${p.padStart(2,"0")}` ).replace(/([1-9]+)(?=日)/,(m,p)=>`${p.padStart(2,"0")}`)) ["2019年1月1日","2019年12月31日"].map(d=>d.replace(/([1-9]+)(?=[月日])/g,(m,p)=>p.padStart(2,"0"))) 皆さんスレチに付き合って下さって
ありがとうございます >>802
ツールバーに表示されるuserChrome.jsを、メニューバーに移動する場合、
以前はrebuild_userChrome.uc.xulを以下のように書き換えれば出来ましたが、
var menupopup = document.getElementById("userChromejs_options");
for(var i = 5, len = menupopup.childNodes.length; i < len; i++){
menupopup.removeChild(menupopup.lastChild);
}
rebuild_userChrome.uc.jsはどう編集したら良いですか? JSで動的に生成される情報をuser.jsでスクレイピングしたいんだけどどうやるの?
というかできる? >>815
あーそうじゃなくてスクレイピングしたいんだよね
該当ページを開かないでそれをやりたいわけ ■ このスレッドは過去ログ倉庫に格納されています