ホントはLollipop辺りの記事書きたいけどそんな余裕もなかった。
ちょっとアレに使うのにBookmarkletがあったほうがいいよな~と思ってとりあえず書いた。
そもそもアレを作るかどうか自体未定。
What’s this?
閲覧中のページのshortlinkをコピペするために作ったBookmarklet。主にWordpressで作られたページでのみ等、Microformatsのrel=shortlinkのHTML linkタグに準拠したページでのみ仕事する。
WordPress.comやJetpackのwp.meを使用しているサイトではwp.meのアドレスが得られる。WP.orgのデフォルトのshortlinkは?p=nのデフォルトパーマリンクになっているが、各種プラグインなどでbitly等のカスタム短縮URLにも出来ますね。投稿編集画面のタイトル下にも[短縮URLを取得]があるけどまぁそれと同じことです。
Bookmarklet!
↓右クリックでブックマーク。
コピペ用:
1 2 |
javascript:(function()%7B(function(b%2Ca)%7Bvar%20c%3Bif(b.length)%7Bfor(a%3D0%3Ba%3Cb.length%3Ba%2B%2B)%7Bc%3Db%5Ba%5D%3Bif(!prompt(%22Shortlink%3A%20%22%2B(a%2B1)%2B%22%2F%22%2Bb.length%2Cc.href))%7Breturn%7D%7D%7Delse%7Balert(%22There%20are%20not%20metatag%20for%20ShortLink%3A(%22)%7D%7D)(document.querySelectorAll(%22link%5Brel%3Dshortlink%5D%22)%2C0)%7D)() |
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
(function(s,i){ var f; if(s.length){ for(i=0;i<s.length;i++){ f=s[i]; if(!prompt("Shortlink: "+(i+1)+"/"+s.length,f.href)){ return ; } } }else{ alert("There are not metatag for ShortLink:("); } })(document.querySelectorAll("link[rel=shortlink]"),0) |
動作環境
Chrome40,Firefox33でチェック。いずれも古いバージョンでも問題なく動くはず。(FF:3.5+)
IE?知らない子ですね。(IE8+なら動くはず。)
SelectorAPIを使ってるのでIE7とかFF3.4以下とか無理です、ってかそんな古いブラウザ使ってる人いないよね。
Note
- もしShortLinkのmetaタグがなければそんなのないよ!ってAlert出ます。素直にURL出さすなら12行目のalertを適当に
prompt('Link',location.href)
とでもしとけばいいんじゃないかな - もし2つ以上ShortLinkなlinkタグがあったら順番に出ます。キャンセル押せばループ脱出するよっ!
- 作るよりも記事書くほうが時間かかる(無駄な記事だ)
一言
Shortlinkにwp.me使ってくれ…そもそもShortLinkは不要だから消しちゃえ!とかやめて…紹介しにくくなるからそれ…()
…Wordpress.com public API使うには独自ドメインじゃうまくいかないんだよな…
Public API自体は大丈夫だけどoEmbedはやっぱりダメみたい…そもそもwp.me,*.wordpress.com にマッチさせたい()
さて、アレの察しは…付きますか?