フロントエンドカンファレンス北海道2024
レギュラートーク(20分)

Comlinkで実現するiframe間通信の単純化

__syumai syumai __syumai
7

iframeは、sandbox属性を利用することで、Webアプリケーション本体と切り離された安全なスクリプト実行環境として利用することができます。

しかしながら、iframeをsandbox化すると、Webアプリケーション本体からiframe内への処理呼び出しや、その逆の呼び出しが直接行えなくなります。

具体的には、それぞれのWindowオブジェクトのpostMessageメソッドと、onmessageハンドラーを利用したメッセージングを行う必要があります。この処理の実装は、目的を最低限満たすだけでもかなり重厚になってしまいます。

Comlinkは、この複雑化しやすいメッセージング処理の実装を単純化してくれるライブラリです。

本発表では、実際に発表者が開発で対面したiframe間通信実装の複雑性による課題と、それをComlinkの導入によっていかに解決したかについて解説します。