hogashi.*

日記から何から

拡張機能「twitter画像原寸ボタン」ver.2.1.4公開

 拡張機能twitter画像原寸ボタン」ver.2.1.4を公開しました。割りと焦るタイプの不具合だったのでシュッと修正して、ついでにもうひとつ修正しました。今(2017/04/26/23:25)さっき公開したので明日になれば反映されるかなと思いますがゆったりお待ち下さい。

chrome.google.com

使い方は以下です。大きくは変わっていないということです。

hogashi.hatenablog.com

更新内容

 今回の更新は2つです。

  • "Original"という文字が見えなくなってボタンが見えづらくなっていたのを、文字を表示するように修正
  • 画像ツイートへの返信をするときCtrl+Enterで送信すると画像が開くようになっていたのを、開かないように修正

 実はボタンは存在していて、文字だけ表示されないようにtwitterのページスタイルが変更されていたようです。ボタンのスタイルはtwitterのものに則れるように極力寄せているのですが、たまにこういうことが起きます。もっともDOM構造が変わってしまったりするとボタン自体無くなったりするので、避けられないところではあります。

技術的な内容

 文字が消えていたのは、

.ProfileTweet-actionList

というclassに

font-size: 0;

というスタイルが当たるようになっていたからでした (ただブラウザのインスペクタから見ても打ち消しされていたりしてどこのスタイルが効いているかわかりませんでした)。
 つまり、

font-size: 13px;

と指定するようにしました。変更が小さかったのでなんとなく事細かに書いています。

 Ctrl+Enterで画像が開いてしまう不具合は、前に一回、返信時にEnterで改行できないというので修正していたところでした。そのときの修正法は、

document.activeElement.className.match(/rich-editor/)

という条件でテキストボックスにフォーカスがあるかどうかを判定して、あるなら入力中なので画像は開かない、という感じにしていました。
 今回出ていた症状の訳は、このフォーカスのある要素が"ツイートする瞬間から"テキストボックスではなくなってしまうということで、こうなります。
f:id:hogashi:20170426234159p:plain

 要は条件がズレていたということなので、ともかくCtrl/Alt/Shift/MetaKeyの押された状態では開かないように挙動を変えました(そもそも考えていなかった挙動でした)。

 ということでした。また何かあればお伝えください。

 ソースコードGitHubに公開しています。
GitHub - hogashi/twitterOpenOriginalImage: is a GoogleChrome extension which opens original image to new tab.