目次
エラーが発生する条件
結論からいうと、「Lazy Load XT」というプラグインを利用している場合で、とある条件が重なる場合だけ発生するようです。とある条件が良くわかっていないのですが、例えば、「Lazy Load XT」に加えて、「brBrbr」というプラグインを利用していて、かつdivの中で改行している場合などが怪しかったです。
ただ、それ以外の場合でも発生していましたので、よくわかりません。
アンカーが効かない理由
Table of Contents Plusがおかしい。アンカーが効かない。ひとつスキップしてアンカーへ飛んでします。そうなってしまう理由は、アンカーが無いからです。
無いというか、ソースの中にはあるが表示されていないのです。
<noscript>の中に、h2が強制的に読み込まれていることが原因でした。
<noscript>の中にコピーされたh2を1カウントしてしまいうまく、アンカーが動きません。
プラグインを編集します
lazy-load-xt/lazy-load-xt.php249行目
1 |
$replace_markup .= '<noscript>'.$original.'</noscript>'; |
をコメントアウトすると、正常に動きます。
1 |
//$replace_markup .= '<noscript>'.$original.'</noscript>'; |
jsが動かないブラウザの時に何も表示されなくなってしまうので、暫定的な手段です。
バージョンアップして改善されたら、元にもどせばよいかなと思います。
検索しても見つからなかったので、走り書きですが、メモしておきます。