Safariでスムーススクロールを実装する(非jQuery)

jQueryを使わない案件、もしくは途中から入ってjQueryエイリアスがぐちゃぐちゃになっててjQuery使いたいとき、

// ページトップ
var pagetop_elements = document.getElementById('pagetop');
pagetop_elements.addEventListener('click', scroll_to_top);
function scroll_to_top() {
  window.scroll({ top: 0, behavior: 'smooth' });
};

こんなスクリプト書く。
でも、SafariiOS含む)は、この「behavior: 'smooth'」に対応してないし、するつもりもないらしい。
edgeは対応したのにね。

そんな時役に立つのが、
Polyfill.io
https://polyfill.io/v3/url-builder/
ここで、必要なpolyfillを選択して、urlをgetする
今回は必要なのが smoothscroll だけだからそこにチェックすると、
https://polyfill.io/v3/polyfill.min.js?features=smoothscroll
なんでURLになる

結論

自分が作ったjsファイルを読み込む前に

<script src="https://polyfill.io/v3/polyfill.min.js?features=smoothscroll"></script>

の1行を入れるだけ。