回答に (はてなにより削除しました) のある質問でスターが表示されない
question:1288431157 などでスクリプトエラーが出てスターが表示されないのは、一部の回答が div.section ごと削除されているのが原因みたいです。
通常
<div class="answer-detail"><div class="section"> <p>回答の文面</p> </div> </div>
削除済み
<div class="answer-detail">(はてなにより削除しました) </div>
回答に返信をつければ返信部分の div.section を利用するみたいで、エラーは出ません。
でも返答しようの無い文面なので、返信していない人も結構多いです。なのでちょくちょくこの現象に出くわします。
私がしたこと
ものっすごくお粗末ですが、以下のフィルタで対処しました。
[Patterns] Name = "?Q restore star" Active = TRUE URL = "q.hatena.ne.jp/$TYPE(htm)" Limit = 128 Match = "(this.title =)\1 (Ten.DOM.getElementsByTagAndClassName\('div', 'section', this.div\)\[0\])\2" Replace = "var section = \2;\r\n" "\1 (!section) ? "" : section"
いつ頃からそうなってたか、とかは特に調べる気はありません。今日気付いて対処したよ、ってことだけどこかに記したかったので、この日記に書きました。