pixivで個別イラストページから編集ページに移動するBookmarklet
先日久しぶりにpixivに投稿したのですが、説明文に誤字があったので直そうと思ったところ、そのページからは編集のページにいけないらしいようですね。具体的には、
個別のイラストのページから
「イラストの管理」をクリックして
自分のこれまでに投稿したものから該当のイラストを探し
(私はまだ2件しか無いですが、多いと探すのも大変ですよね?たぶん)
でもって変更をクリックして
ようやく編集ページにたどりつきました。
……と、編集をするごときですげーメンドイので、個別ページから直接編集ページに移動するBookmarklet書いたった。
ブックマークレット
><
Bookmarkletを貼りつける Google Gadget は id:asannouさん のものを利用させていただきました。
この Google Gadget で表示させた Bookmarklet を登録する方法についてはこちらでまとめたので、参考にして下さい
使い方
1.個別のイラストのページ
- http://www.pixiv.net/member_illust.php?mode=medium&illust_id=数字
- http://www.pixiv.net/member_illust.php?mode=big&illust_id=数字
こうしたページで使うと編集のページ
- http://www.pixiv.net/member_illust_mod.php?mode=mod&illust_id=数字
に移動します。
2.編集ページから
- http://www.pixiv.net/member_illust_mod.php?mode=mod&illust_id=数字
編集のページで使うと
- http://www.pixiv.net/member_illust.php?mode=medium&illust_id=数字
イラストのページに移動します*1。
また当然ですが、自分のイラストしか編集することはできません。他のユーザーのページで使っても意味ないので、その点ご了承下さい
[どうぞご利用ください。]
アサマシリンク
EXIT TUNES PRESENTS pixivの殿堂 [DVD]
- 出版社/メーカー: EXIT TUNES(PC)(M)
- 発売日: 2009/03/04
- メディア: DVD
- はてな: asin:B001MJASPU
pixiv girls collection ~ピクシブガールズコレクション
- 出版社/メーカー: コアマガジン
- 発売日: 2009/02/28
- メディア: 単行本
- はてな: asin:4862525318
余談
というか、標準でそういう機能やリンクが用意されているのではないか?と大分探したのですが、どうも無いっぽい。うーんと、個別のイラストから編集できないのは不便じゃないかなぁ。
あとpixivの仕様についてはあまり詳しくないので、不具合とかありましたら気軽にご報告下さい。
*1:こちらは一応リンクがあるのですが
Re: 「はてブのフッターを小さく固定にする」をグリモンにしてみた
「はてブのフッターを小さく固定にする」をグリモンにしてみた - SO NOTE そうのて (;^ω^)
こちらで先日作ったはてブのフッターを小さく固定にするユーザースタイルシートをGreasemonkeyに応用されています
フッター上をカーソルが通過する度に一瞬伸び縮みするのが少し気になってた(;^ω^)ので、グリモンにさせてもらいました。
http://d.hatena.ne.jp/so_blue/20090218/1234969578
とのこと、確かに私自身もその挙動はちょっと気になってたので、こうした改善のフィードバックはとても有り難いですね。ありがとうございます。
で、そのGreasemonkeyについて少し気がついたことがあったので、こちらからもフィードバックを
// ==UserScript== // @name fixedBottomHatebuFooter // @namespace http://d.hatena.ne.jp/so_blue/ // @include http://b.hatena.ne.jp/* // ==/UserScript== (function(){ var btn_open = '\u25b2', btn_close = '\u25bc'; var footer = document.getElementById('footer'); if (footer) { //footerのstyle設定 footer.style.position = 'fixed'; footer.style.left = 'auto'; footer.style.bottom = '0px'; footer.style.zIndex = '100'; footer.style.borderTopWidth = '3px'; footer.style.height = '2.5em'; footer.style.opacity = '0.8'; //透過したくない時はここをコメントアウト //伸縮ボタン作成とstyle設定 var elmP = document.createElement('P'); elmP.style.position = 'fixed'; elmP.style.bottom = '0px'; elmP.style.width = '99%'; elmP.style.height = '1.5em'; elmP.style.zIndex = '101'; elmP.style.textAlign = 'right'; var elmSPAN = document.createElement('SPAN'); elmSPAN.style.cursor = 'pointer'; elmSPAN.style.color = '#00f'; elmSPAN.innerHTML = btn_open; elmSPAN.addEventListener('click', function(e) { var h = (footer.style.height == '2.5em') ? 'auto': '2.5em'; var t = (e.target.innerHTML == btn_close) ? btn_open: btn_close; footer.style.height = h; e.target.innerHTML = t; }, false); elmP.appendChild(elmSPAN); document.body.appendChild(elmP); } })();
こちらが元のGreasemonkey
特に気になったのはこの部分
//footerのstyle設定 footer.style.position = 'fixed'; footer.style.left = 'auto'; footer.style.bottom = '0px'; footer.style.zIndex = '100'; footer.style.borderTopWidth = '3px'; footer.style.height = '2.5em'; footer.style.opacity = '0.8'; (略)
となっているのですが、style属性を一つ一つ設定していくのは効率が悪いです。というのも指定していく度に再描画が行われてしまうので、1度に設定した方が良いでしょう
参考リンク
複数回のスタイル変更は一回にまとめよう - 効率的な JavaScript
この場合
footer.setAttribute('style','position:fixed;left:auto;bottom:0px;z-index:100;border-top-width:3px;height:2.5em;opacity:0.8;');
とやってもいいのですが、今回はGreasemonkeyなのでGreasemonkeyのAPIのGM_addStyle関数を使ってスタイルシートの設定を行ってみます
GM_addStyle(<><![CDATA[ #footer{ position: fixed; left: auto; bottom: 0px; z-index: 100; border-top-width: 3px; height: 2.5em; opacity: 0.8; } ]]></>);
これだと、CSSの書き方で記述できるので、便利です。
ボタンについても、スタイルシートが書きやすいよう、idを割り振っておきます
var elmP = document.createElement('P'); elmP.id = 'HB_footerbtn';
名前は適当で。
で、あと気になったのは、フッターの表示がどうなっているかの判定
elmSPAN.addEventListener('click', function(e) { var h = (footer.style.height == '2.5em') ? 'auto': '2.5em'; var t = (e.target.innerHTML == btn_close) ? btn_open: btn_close; footer.style.height = h; e.target.innerHTML = t; }, false);
今回はオンかオフしかないので、その判定を1回だけにまとめた方が効率が良いのでは?と考えました。
それも合わせると
(function(){ var btn_open = '\u25b2', btn_close = '\u25bc'; var footer = document.getElementById('footer'); if (footer) { var elmP = document.createElement('P'); elmP.id = 'HB_footerbtn'; //idを設定 var elmSPAN = document.createElement('SPAN'); elmSPAN.textContent = btn_open; elmSPAN.addEventListener('click', function(e) { var h,t; if(this.textContent == btn_open){ //style属性ではなく、ボタンでフッターの状態を判定 h = 'auto'; t = btn_close; }else{ h = '2.5em'; t = btn_open; } footer.style.height = h; this.textContent = t; }, false); //スタイルの設定 GM_addStyle(<><![CDATA[ #footer{ position: fixed; left: auto; bottom: 0px; z-index: 100; border-top-width: 3px; height: 2.5em; opacity: 0.8; /* 透過したくない時はここをコメントアウト */ } #HB_footerbtn{ position: fixed; bottom: 0px; width: 99%; height: 1.5em; z-index: 101; text-align: right; margin: 0; /* 継承があるので追加 */ } #HB_footerbtn span{ cursor: pointer; color: #00f; } ]]></>); elmP.appendChild(elmSPAN); document.body.appendChild(elmP); } })();
こんな感じになりました。
これで機能はそのまま高速化されています(とは言え、体感できるレベルでないですが)。なんか勝手に添削するみたいになりましたが、せっかくフィードバックをいただいたのでこちらも、というところで。
参考になれば幸いです。
あと
三項演算子を使った代入は正直あまり理解してなかったので、そちらも参考になりました。
Popup HB comment更新
そういやこちらで告知し忘れていたのですが、以前作ったGreasemonkeyに不具合があったので修正しました
http://userscripts.org/scripts/show/37608
URLに「?」が含まれるページをブックマークしたページでIDコールがあると、正常に動作しない不具合がありました。具体的には Yahoo!Japanのニュースや、Gigazineなどが「?」が含まれることが多いですね。ですので、お手数ですが上記リンクから再度インストールをお願い致します。
><