Closed faithandbrave closed 3 weeks ago
@sukeya 直りました。 これくらいでどうでしょう?
素早い対応ありがとうございます! 見やすくなり、良いと思います。
ではこれで閉じますー
@faithandbrave すみません、 https://polyfill.io/v3/polyfill.min.js?features=es6
って何目的で読み込んでいる感じでしょう?
公式がそう指示しているから?
https://www.mathjax.org/#gettingstarted
じゃあ何故公式が polyfill を要求しているかというと MathJax v3 で ES6 の Promise を使いたくなったから:
https://github.com/mathjax/MathJax/issues/3162#issuecomment-1890465019
はい、MathJax v3のドキュメントに従っています。
cpprefjpではIE11をサポートしていないので、 https://caniuse.com/promises を見る限り、不要なのではないかと思うわけです。
ref: https://github.com/cpprefjp/site/issues/477#issuecomment-343039905
たしかにIE11用っぽいので、削除しちゃってよさそうな気がしますね https://docs.mathjax.org/en/latest/web/start.html#browser-compatibility
後で見た時に「なぜ MathJax 標準ではないロードの仕方をしているんだ」という疑問が生じるので、何故 polyfill 入れないのかコメントを入れるならそれで良いと思います (削除すれば無駄な traffic 減らせますし)。あと、IE11 対応しないとしても、後続の MathJax で余計なエラーが出ない様に IE 除外 できませんか? こんな感じでしょうか:
<!--[if !IE]><!-->
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3.0.1/es5/tex-mml-chtml.js"></script>
<!--<![endif]-->
@yumetodo どうでしょう?
反応が遅れました。
しかしIE11を無効化するKBが配布されるようになった今、IE11が動作する環境は、WindowsのサーバーOSか、LTSC版を用意する必要があり、(仕事柄職場に検証環境はありますが)、私物の検証環境を作って維持するのは大変です。また多くのユーザーはIEを回避する選択肢を持ち合わせているはずです。
そういうわけで、このissueからは外れてきてしまいますが、そもそもIEのサポートを明示的に切っておきたいです。
それとは別に、 @akinomyoga さん提案の条件付きコメントですが、リンク先にも記載のある通り、こちらはIE5-IE9まででサポートされた記法であり、IE11では単なるコメントとして認識されます。その他のブラウザでも同様です。したがって、今回のケースでIEでのみ読み込ませることを目的として条件付きコメントを使うことはできません。どうしてもそういうことをするならUser-Agentを見て出し分けるWebサーバーが必要になるでしょう。
以上の2点から、単にpolyfillを除去しておく、あるいは
<!-- IEはサポートしないので https://polyfill.io/v3/polyfill.min.js?features=es6 は読み込まない -->
等としておくのがいいのではないでしょうか(この場合、templateエンジン向けのコメント記法があればそっちのほうがbetter)。
IE を明示的に切るというと、IE で開いたら対応していませんページにジャンプするなどですか。
それとは別に、 @akinomyoga さん提案の条件付きコメントですが、リンク先にも記載のある通り、こちらはIE5-IE9まででサポートされた記法であり、IE11では単なるコメントとして認識されます。
本当ですね…見落としていました。
その他のブラウザでも同様です。したがって、今回のケースでIEでのみ読み込ませることを目的として条件付きコメントを使うことはできません。どうしてもそういうことをするならUser-Agentを見て出し分けるWebサーバーが必要になるでしょう。
GitHub Pages は対応していないような気がしますね。あるいは、userAgent 見て document.write(...)
する (今どきはもっと良い方法がありそうですが…) こともできるかもしれませんが、それだと現行ブラウザでも余分の処理が走ることになるので嫌ですね。
等としておくのがいいのではないでしょうか
確かに現実的にはそんなところでしょうかね。
(この場合、templateエンジン向けのコメント記法があればそっちのほうがbetter)。
そうですね。
Microsoftがサポートを終了しているブラウザですから、正しく動かないのはIEユーザーの自己責任として、yumetodoさん案のコメントアウトで対応としては十分な気がしますね。がんばりどころではない気がします。
<!-- IEはサポートしないので https://polyfill.io/v3/polyfill.min.js?features=es6 は読み込まない -->
IE を明示的に切るというと、IE で開いたら対応していませんページにジャンプするなどですか。
あ、いえ、IEで壊れるかどうかを以降cpprefjpにおいて検討しないという意味合いでした。
5月のGoogle Analyticsのレポートを確認したところ、アクティブユーザー5.86万人のうち、IEユーザーは15人でした
では、コメントアウトしますね
polyfillの読み込みをコメントアウトしました。 https://cpprefjp.github.io/reference/cmath/cos.html 数式は問題なく動いてそうです。
これで閉じます。 問題あったらまたreopenしてください。
調べました。
MathJaxのこのへんの設定をいじれば、数式ブロック (displayMath) のインデントを変更できそうです。 https://github.com/cpprefjp/site_generator/commit/94b9dcb2a2f4b609adee36b9fcc50b4e60b1be29
設定のドキュメントはこちら。
私の手が空いたら着手しようと思いますが、どなたか引き取れそうだったら引き取ってください。