Skip to content

Markdown ソース

生の markdown をそのまま参照でき、コピー、自動化、AI agent に使えます。

Markdown を表示

Widget ​

Quaily widget は、小さな JavaScript ライブラリです。Quaily の記事、チャンネル、購読フォームを自分のサイトへ埋め込めます。

たとえば、以下は Quaily Blog の購読フォームウィジェットです。

自動リサイズ ​

このウィジェットには bot 対策が含まれているため、状況によって iframe 内の高さが変化します。

iframe の内容が途中で切れないように、JavaScript で iframe の高さを内容に合わせて調整できます。

js
function handleSubscribeFrameMessage(selector) {
  window.addEventListener('message', function(event) {
    var ifr = document.querySelector(selector);
    if (event.data.action === 'resize') {
      let h = (event.data.height + 20);
      if (h > 342) {
        h = 342;
      }
      if (ifr) {
        ifr.style.height = h + 'px';
        ifr.height = "";
        ifr.height = h + 'px';
      }
    }
  }, false);
}
setTimeout(() => {
  handleSubscribeFrameMessage('#quail-widget-id');
}, 100);

ウィジェット ID を quail-widget-id と仮定すると、iframe 内の高さが変わったタイミングで、iframe は親ウィンドウへ resize メッセージを送ります。

handleSubscribeFrameMessage はそのメッセージを受け取り、新しい高さへ iframe を合わせるためのコールバックです。