孅いエンジニアブログ

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

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

これです。

Google Apps Scriptでウェブページやアプリを作ったページを印刷したくなった方はいないでしょうか。

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とかに連絡くれるとありがたし!