0
テストを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
リッチスニッペットに反映されるタイミングがよく分からない(少なくとも、クロールされたときじゃない)けど、やっぱり駄目だよな (´・ω・`)
- 関連記事
-
- テストを2件ほど (2017/01/27)
- 遺伝的アルゴリズムで移動方法を学習させた人工生命体 (2010/05/26)
- ヘッダ位置の画像がずれてる (2016/06/24)
- HAREEL (SAGOOL) (2009/01/10)
スポンサーサイト