孅いエンジニアブログ

Google Apps Script製のページを印刷できる拡張機能作った

これ

Google Apps Scriptでウェブページ、アプリを作った時に、このアプリケーションはなんとかかんとか

って上に出てきて、どうやら作ったページは全部2段階のiframeの中に突っ込まれるせいで、スクロールが必要なページとかは正しく印刷できない模様。

それを印刷できる拡張機能くんです。

実装

仕組みはiframeの中でも拡張機能を実行するようにして、指定のiframeの中の時だけwindow.print()する形です。思ったより簡単にできました。

const sandboxFrame = document.body.querySelector("iframe#sandboxFrame");
if (sandboxFrame !== null) {
	return;
}

window.print();

(最初はiframeの中身の要素を丸ごとをbackground.jsに送ってルートのHTMLを置き換えるとかいう、気分悪いやり方してました)

コード全貌はこちらです。

バグ見つけたらTwitterとかに連絡くれるとありがたし!