現在地

bookmarklet

アドレスバーに 「s /hoge/fuga/g」などと入れてページ中のhogeをfugaに置換する

作成者:mattz 作成日:月, 08/20/2012 - 11:15

まぁ、めったにやることないと思うけど、要するにこういうの→“「ツイート」を「ツイート(笑)」に置換するブックマークレット”を汎用的にしたやつ。「Opera用って時点で汎用的じゃない」っていうツッコミは受け付けるけど対応はしない。

準備

  1. Operaの設定画面のウェブ検索タブを開く。
  2. 検索キーワード「s」はデフォルトだと「Opera Support」なので(残しておきたければ)「s」から別のキーワードに変える。
  3. 追加ボタンを押して検索エンジンの追加ダイアログを開く。
  4. 名前
    何か適当な名前。replaceとか。
    キーワード
    s
    アドレス
    javascript:var s='%s';var a=s.split('/');var g=new RegExp(a[1], a[3]);var r=document.evaluate("//text()[contains(., "+a[1]+")]", document, null, 7, null);for(var i=0;i<r.snapshotLength;i++)r.snapshotItem(i).nodeValue=r.snapshotItem(i).nodeValue.replace(g, a[2]);void(0);

    と入力して「OK」。

使い方
どこかのページで置換したい単語があったら、アドレスバーに「s /置換したい単語/置換後の単語/g」などと入力(sのあとのスペースは必要)してEnter 。

毎回「g」フラグを入れるのが面倒な方は、アドレス欄に入力するスクリプト文字列の「a[3]」のところを「'g'」に変えればいいです。

うん。使い道ないね。

追記
Chromeでもできた。Firefoxは(設定の仕方が)よくわからない。

Togetterのまとめのページをゴニョゴニョするやつ

作成者:mattz 作成日:火, 03/13/2012 - 18:40

togetterのまとめページで、オリジナルのtweet(要するにパーマリンク)へのリンクが素直じゃないので作った。
ついでに、個人的には名前のところもtogetter内のユーザページじゃなくてtwitter.comのユーザページに飛んで欲しいので、そういう処理もします。

bookmarklet版

javascript:(function(){t='https://twitter.com/';l=document.querySelectorAll('.status_right');for(i = 0;i<l.length;i++){u=l[i].querySelector('.status_name');n=u.textContent;u.href=t+n;s=l[i].querySelector('[onclick]');if(s){d=s.getAttribute('onclick');s.removeAttribute('onclick');d=d.replace(/^.*\"(.*)\".*$/,'$1');s.setAttribute('href',t+n+'/status/'+d);}}})()

http://togetter.com/li/~なページでアドレスバーに貼り付けるとかするとリンク先がいろいろ置き換わります。

user.js版

mod-togetter.js

Operaでuser.js用のフォルダに置いとけば、勝手に働きます。

Twitterの新UIリリースにともなってldcのブックマークレットを修正

作成者:mattz 作成日:水, 10/20/2010 - 12:25

Twitterが新UIになって、個別の発言のパーマリンクに「#!」というのが含まれるようになったのですが、これを普通にlivedoor提供のブックマークレット でclipすると大変具合が悪いので、ちょこっと改変した。

これが改変前

javascript:location.href='http://clip.livedoor.com/clip/add?link='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title);

こちらが改変後

javascript:l=location;h=l.href;if(l.host=='twitter.com'){h=h.replace(/statuses/,'status').replace(/#!\//,'');}location.href='http://clip.livedoor.com/clip/add?link='+encodeURIComponent(h)+'&title='+encodeURIComponent(document.title);

ついでなんでstatusesはstatusにしてからclipするようにした。

はてなブックマーク?知らない。

Twitterのパーマリンクを表示した後にその日のtwilogに飛ばすbookmarklet作った。

作成者:mattz 作成日:水, 09/29/2010 - 15:30

これまで「twitterのパーマリンクを表示する時に前後のポストを取ってきて表示するUser.js」とか「Twitterのパーマリンクを表示した後に前後のポストを取ってきて表示するbookmarklet」などというものを作ってきましたが、Twitterにも色々変化があって、今ではすっかり役に立たなくなった(元々あんまり役に立たなかったけど)ので、代わりにこんなのを作りまし た。

javascript:(function(s){s.src='http://mattz.xii.jp/sites/default/files/twstlog.js';document.body.appendChild(s);})(document.createElement('script'));

制限事項

  • 対象のユーザさんがtwilogに登録してないと肝心の日別パーマリンクがtwilog側で無効なので結局のところ、役に立ちません。
  • Twitterにログインしていて、かつ新UIが有効な状態で実行しないと失敗します。対応しようと思えば出来るんだけど、面倒なのでやりません。

それから、今のところOpera 10.70 build 9053でしか動作の確認はしていません。

Googleの検索結果で""(ダブルクォート)でくくって検索しなおすブックマークレット

作成者:mattz 作成日:水, 09/08/2010 - 13:02

javascript:var l=location;var q=l.search.substr(1).split('&');for(var i=0;q[i];i++){a=q[i].split('=');if('q'==a[0]){a[1]='%22'+a[1]+'%22';q[i]=a.join('=');}}var s=q.join('&');l.href=l.protocol+'//'+l.hostname+l.pathname+'?'+s;

chalcedonyねーさんが↓こんなことを嘆いていたのでやっつけで書いてみた。

最近のぐーぐる先生は気を利かせすぎて勝手に表現を変えて検索してくれたりするけども、エラーメッセージでぐぐりたいとき正直ジャマになる。""で囲むのめんどいお

Googleで検索して、同じフレーズをダブルクォートでくくって検索し直したい時にこのブックマークレットを実行すればよいです。ブックマークレットの実行方法については省略します。

検索語が「q」っていうパラメータに入ってないと動きません。逆にいうと、検索語が「q」っていうパラメータに入るんだったらGoogle以外の検索エンジンでも動作します。ダブルクォートでくくることに意味があれば、ですけど。

Twitterのパーマリンクを表示した後に前後のポストを取ってきて表示するbookmarklet作った

作成者:mattz 作成日:火, 03/23/2010 - 17:08

やってることは「twitterのパーマリンクを表示する時に前後のポストを取ってきて表示するUser.js作った 」と全く同じだけど。

twitterのパーマリンク(個別のつぶやき)を表示した状態で、以下の文字列をアドレスバーに貼り付けてEnterで前後のpostを表示できる(訂正:後ろは取れずに、最新の数ポストになっちゃうことが多いです)。

javascript:(function(s){s.src='http://mattz.xii.jp/sites/default/files/twst.js';document.body.appendChild(s);})(document.createElement('script'))

これなら必要な時だけなので、APIの消費も必要な時だけになるし、Opera以外のブラウザでもOK。Operaの他に(全てWindows XP上。細かいバージョン情報は省略)Firefox 3.5.8、Chrome 5(いわゆるdev版)、Safari4、IE8での動作は確認済み。

それDOM Snapshotで

作成者:mattz 作成日:金, 02/12/2010 - 18:23

Google の html を読むのは、とてもとても大変でした。

読むのが大変なHTMLを読みやすくする魔法を教えましょう。

http://dev.opera.com/articles/view/opera-developer-tools/

ここのDOM Snapshotっつーブックマークレットを使います。というか、Dragonfly使えや、ってことで今は隠されちゃったみたいですが、ブックマークレッ ト自体は今でも使えます。これを使うと、表示中のページのまさに“DOM snapshot”が整形して表示されます。

javascript:(function(){var ele=document.documentElement.appendChild(document.createElementNS('http://www.w3.org/1999/xhtml','script'));ele.onload = function(){this.parentNode.removeChild(this);liveSource.open();};ele.src='http://devfiles.myopera.com/articles/59/liveSource.js';})()

User CSSやuser.js書くのに便利です。ちなみにサジェスト中の「候補がだーっと出た状態」のhtmlも取得できます。まぁ、Dragonflyが大は小を兼ねてはいるのですが、ちと大げさなんですよね。

不安な人は上記のブックマークレットに含まれるjsファイルを自分の管理下に置いてしまったらいいと思います。

表示中のページへのリンク用の文字列を表示するブックマークレット

作成者:mattz 作成日:金, 10/16/2009 - 12:18

絶対再発明な気がするけど。使い方はリンクを右クリックしてブックマークに追加、みたいな感じで。

IEな人はclipboardData.setDataでも使ってクリップボードに放り込んでやったらもっと便利かもね。実験する気もないけど。

2009/11/20追記

若干気に入らないところがあったので、改訂版。

変更点は以下の通り

  1. ページの上側に表示するようにした。
  2. コピーしやすいようにinput要素にして、select().focus()するようにした。