アナログ
RSS  

FireGestures:Twitterの画像を原寸大で新しいタブで開く2016/01/03 09:52

明けましておめでとうございます。
今年もよろしくお願い致します。<(_’_)>


Firefox 43まではTwitterの画像をオリジナルのサイズで表示で紹介したgreasemonkeyスクリプトで処理していたのですけれど、Firefox 44βからはScriptishが上手く動いてないのか?動作しなくなってしまいました。

正直、どのアドオンがこの先生きのこるのか分からないうちはあまり労力を使いたくなかったのですけれど、意外と不便でしたのでFireGestures:画像を新しいタブで開くに統合してしまいました。

こういうことをよくやるので、greasemonkeyスクリプトが少ないのですねw

var srcNode = FireGestures.sourceNode;
if (!(srcNode instanceof HTMLImageElement) || !srcNode.src)
	throw "Not on image";
var imageURL = srcNode.src;
var imageHOST = imageURL.split('/')[2];
var imageDIR = imageURL.split('/')[3];
if  ((imageHOST == "pbs.twimg.com")
  && (imageDIR == "media")) {
	imageURL = imageURL.replace( /:(large|medium|small|thumb|orig).*$/, "");
	imageURL = imageURL + ":orig";
}
var doc = FireGestures.sourceNode.ownerDocument;
FireGestures.checkURL(imageURL, doc);
var charset = window.content.document.characterSet;
var referer = makeURI(doc.location.href);
var pos = gBrowser.mCurrentTab._tPos;
var tab = gBrowser.loadOneTab(imageURL, referer, charset, null, false, false);
gBrowser.moveTabTo(tab, pos);

現在のタブの左側に新しいタブで画像が開かれます。
Twitterに貼られた画像(pbs.twimg.com/media/)は原寸大に置き換えて表示します。

右に開きたい場合、
var pos = ++gBrowser.mCurrentTab._tPos;

あとでまとめて見たいからバックグランドで開きたいというなら
var tab = gBrowser.loadOneTab(imageURL, referer, charset, null, true, false);

のように書き換えて使うといいと思います。
あぁ、やるつもりなかったのになぁw


ところで、Firefox 44β4を使っているのですけれど、xpinstall.signatures.required(アドオンのデジタル署名チェック回避)はまだ削除されておらず、falseにすることでメンテナンスされていないアドオンもまだ動いています。

ひょっとしてe10sの開発が遅れてるから延期されたのかな?
Firefox 44以降でも未署名アドオンを使い続ける方法 | ハルパスで紹介されているAMOアカウントを作って自分でアドオンに署名するという方法もあるようですが、e10sが有効になる頃には旧タイプのアドオンのほとんどが動作しなくなるでしょうから、その時、Firefoxをあきらめるか考えようと思う。

FireGestures:画像を新しいタブで開く2014/11/11 04:30

FireGestures

実はTwitterの画像をオリジナルのサイズで表示ではもう一つ不満がありました。
「画像だけを表示」を使ったあと(Twitterに)戻ると何故かスクロールが先頭になってしまいます(ひょっとしておま環?)。

だったら、FireGesturesで画像を新しいタブに開けばいいじゃないか!
というわけで、FireGestures :: Get ScriptsSCRAPBLOG : [userChrome.js] 軽量マウスジェスチャで利用可能なスクリプト集を参考に切り貼りして作ってみました。

var endNode = event.target;
if (!(endNode instanceof HTMLImageElement) || !endNode.src)
	throw "Not on image";
var imageURL = endNode.src;
var doc = FireGestures.sourceNode.ownerDocument;
FireGestures.checkURL(imageURL, doc);
var charset = window.content.document.characterSet;
var referer = makeURI(doc.location.href);
var pos = gBrowser.mCurrentTab._tPos;
var tab = gBrowser.loadOneTab(imageURL, referer, charset, null, false, false);
gBrowser.moveTabTo(tab, pos);

現在のタブの左側に新しいタブで画像が開きます。

右に開きたい場合、
var pos = ++gBrowser.mCurrentTab._tPos;

あとでまとめて見たいからバックグランドで開きたいというなら
var tab = gBrowser.loadOneTab(imageURL, referer, charset, null, true, false);

のように書き換えて使うといいと思います。

私はやる気ない(やっちゃった)ですけれど、GreasemonkeyScriptishを使っていない方は、Twitterの画像をオリジナルのサイズで表示合体させれば、FireGestureだけでまかなえちゃうぞ!

お約束
私はスクリプトの事を分かってない人なので、これを使って何かあっても知らんです。
自己責任でお願いします。


- 追記 -
ググって無いからと作ったのに

フォクすけの Firefox 情報局 - リンクを新しいタブで開くには?/ブックマークを新しいタブで開くには?/画像を新しいタブで開くには?
また、ミドルクリックで新しいタブを開く操作は、ブックマーク、画像の上で右クリックした時のメニューから選べる「画像を表示」「背景画像を表示」、「戻る」ボタンや「進む」ボタンなど、Firefox の画面上の色々な所で利用できます。

ちょっとググり方変えただけですぐ見つかるとか_/ ̄|○
まあ、ワンアクションで開けるからこれでいいや(´・ω・`)

アドオンでコンテキストコンテキストメニューに追加する手もあった。
Open Image In New Tab | Firefox アドオン | Mozilla Japan の公式アドオン紹介サイト

Twitterの画像をオリジナルのサイズで表示2014/11/05 18:27

Firefox userChrome.js greasemonkeyスクリプトスレ27
977 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2014/09/08(月) 16:47:05.69 ID:cpyO3hJT0
特定ドメインのURLを開く時そのURLを自動で書き換えてくれるスクリプト、もしくはそれに使えるスクリプトってありませんかね?

具体的に言うと、Twitterの画像は
https://pbs.twimg.com/media/*****.jpg
というURLなんですが、このままだと再圧縮されたサイズが表示されるため、オリジナルのサイズで
表示させようと思ったら :orig を手動で末尾に付け加えて
https://pbs.twimg.com/media/*****.jpg:orig
にする必要があるんです。
これを、自動で置換してくれるようにしたいんですが…
986 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2014/09/08(月) 19:54:46.08 ID:HQAwJXjD0
>>977
僕もほしかったので書いてみました
https://greasyfork.org/scripts/4930-twimg-redirect-orig

どういう訳か私はgreasemonkeyスクリプトをほとんど使ってないのですが、これはよさげと導入してみました。(userChrome.jsはたくさん使ってるんですけどね)

コンテキストメニューの「画像だけを表示」(画像の上で右クリック)でオリジナルサイズの画像が表示されるようになってなかなか便利。

今まで使ってみて3点ほど不満があり

  1. https→httpに置き換えると、存在しないページとなる場合がある(数日後には表示されるようになった)
  2. 「:orig?.拡張子」では壊れた画像となって表示されない場合がある(数日後正常に表示された)
  3. サムネイル(:thumb)もオリジナルサイズで表示したい

1と2はTwitter側の不具合なのでしょうが、わざわざ置き換えて表示できないのもなんなのでソースを修正してみたのですけれど、2chでは既に終わった話なのでここに晒しておこうかと。

// ==UserScript==
// @name        twimg_redirect_orig
// @namespace   http://catherine.v0cyc1pp.com/twimg_redirect_orig.user.js
// @include     *://pbs.twimg.com/media/*
// @exclude     *://pbs.twimg.com/media/*:orig*
// @run-at      document-start
// @author      greg10
// @license     GPL 3.0
// @version     1.2
// @grant       none
// @description Redirect twimg to :orig
// ==/UserScript==

(function(){
  var str = content.document.location + "";
  str = str.replace( /:(large|medium|small|thumb).*$/, "");
  var url = str + ":orig";
  window.location.replace( url );
})();

※12/31 smallも足しといた。
※6/11 mediumもあるのか……足しといた。

お約束
私はスクリプトの事を分かってない人なので、これを使って何かあっても知らんです。
自己責任でお願いします。

FireGestures:画像を新しいタブで開くとセットで使えば更においしくいただけますw
さらに↑の統合版:FireGestures:Twitterの画像を原寸大で新しいタブで開く