Open6
Twitterカード、og:titleが<script>から始まると表示されない
ページのog:title
(もしくはtwitter:title
)が<script>
から始まるとTwitterカードが表示されないことに気づいた。色々と試した結果をまとめておく。
※ <
や>
はエンコードされた状態での検証。
<div>
から始まる場合 → 表示される
タイトルが<meta property="og:title" content="<div>テスト"/>
<script>
から始まる場合 → 表示されない
タイトルが<meta property="og:title" content="<script>テスト"/>
Card Validatorでは「Required meta tag missing ...」というエラーが表示される
<script />
(空要素)から始まる場合 → 表示される
タイトルがタグに/
をつけて空要素とすると表示される
<meta property="og:title" content="<script />テスト"/>
<script>
が途中に含まれる場合 → <script>
以降が消える
<meta property="og:title" content="テスト<script>テスト"/>
XSS対策のためか<script>...
は無視されるようになっているっぽい