findTextでフリーズするページがわかったのでテスト

一言(2007年01月〜02月) - Donut食った?に、フリーズするページの例があった。テラ目が節穴ス。
テストしたらcloneNodeだと文字通りそのまま複製してて不整合が解消して無いらしい。cloneNodeしたbody要素でのfindTextでもフリーズする。うすうす予想してたけど。ということで横着せずにダミーのbody要素作ってinnerHTMLにdocument.body.innerHTMLをコピーしてやることにした。で、ダミーのbody要素でfindTextしてブックマークに飛ぶってやり方でちゃんとフリーズ回避できるてるっぽい。
getBookmarkとmoveToBookmarkできちんとtextRangeを再現できないことがあるのは解消できてないが、標準準拠のサイト自体少ないしまぁいいや。現象確認できたのは全部過去互換モードのサイトだったし。