読者です 読者をやめる 読者になる 読者になる

はてなブログの編集画面でフォトライフから貼り付けた画像のaltとtitle属性を削除するスクリプト

JavaScript はてなブログ

はてなブログの編集画面で、はてなフォトライフから画像を貼り付けると(編集サイドバーにある「写真を投稿」) こんな感じでタグが挿入*1されますが、

<img src="xxx.jpg" alt="f:id:splicom:20140818124012j:plain" title="f:id:splicom:20140818124012j:plain">

alt属性やtitle属性にはユーザーidや日時などの文字列が入っています。 そのままでもいいんでしょうけど、入れておくのもあまり意味が無いように思えるので 自分は削除していて、この作業が地味に面倒だったりします。

そこでalt="" title=""に置き換えるスクリプトを書きました。

var body = document.getElementById("body");
body.value = body.value.replace(/alt=\"f:id.*plain\"/g,"alt=\"\" title=\"\"");

ブックマークレット

javascript:(function(){var body = document.getElementById("body"); body.value = body.value.replace(/alt=\"f:id.*plain\"/g,"alt=\"\" title=\"\"");})();

貼り付けた時点で置き換えられているのがベストなんでしょうが、 テキストエリアに入力された本文を取得してreplaceしているだけです。

属性の指定自体を削除する場合は、replaceの内容がこうなります。

body.value = body.value.replace(/alt=\"f:id.*plain\" /g,"");

標準で挿入される文字列の書式が、画像に関係なく共通なのかよく分かっていないので、 マッチさせる正規表現や置き換え後をどうするかは適宜変更してください。

なお、スクリプトで置き換えた文字列はCtrl+Zなどで戻りません。そのあたりも考慮するなら そもそもWebの編集画面じゃなくてテキストエディタで置き換えればいい話ではあるんですけど。

IE(Ver.11.0)、Firefox(Ver.31.0)、Chrome(Ver.36.0)で動作確認はしましたが、 ブラウザのバージョンによっては正しく動作しないかもしれません。

*1:pやspan、classなどは削除しています