スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

テストを2件ほど

CATEGORYブログ

highlight.js をいじってて、スマホ(android 標準ブラウザ)で崩れるのに気が付いた。
どうやら、カスタムデータを設定していないときと、属性値を設定しないカスタムデータ属性を取得したときの挙動が違う。
e.dataset.<key> === undefined でカスタムデータ属性が設定されているかどうかを判定できるかと思ったんだけど……


plain only attr name has value

  カスタムデータ属性なし
<code>
値なしのカスタムデータ属性
<code data-key>
PC のブラウザ undefined 空文字列
android 標準ブラウザ 空文字列 空文字列



//  if (code.dataset.lineNumber !== undefined) {
    if (code.hasAttribute("data-line-number")) {
        attr.start_line = code.dataset.lineNumber === "" ? 1 : code.dataset.lineNumber;
    }

DOM の hasAttribute メソッドを使って判定する。
値の取得も、dataset じゃなくて getAttribute メソッド使えばええやん、って気がしなくもないが。





JSON-LD には url 属性があるので、別のページの内容を表す JSON-LD が有効なのか、とか試してみる。

JSON-LD of article 157


リッチスニッペットに反映されるタイミングがよく分からない(少なくとも、クロールされたときじゃない)けど、やっぱり駄目だよな (´・ω・`)
関連記事
スポンサーサイト

highlight.js JSON-LD クロスブラウザ

0 Comments

Leave a comment

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。