HTML サービス: 制限

悪意のある HTML や JavaScript の配信からユーザーを保護するために、Apps Script は iframe を使用して HTML サービスのウェブアプリやカスタムユーザーをサンドボックス化 インターフェースを使用する(HTML サービスでは、 メール本文を生成する場合など、他の状況でサンドボックスを使用できます)。サンドボックス クライアントサイドのコードに制限が課せられます。

サンドボックス モード

IFRAMEを除くすべてのサンドボックス モードは廃止されました。古いサンドボックスを使用しているアプリ モードでは、新しい IFRAME モードが自動的に使用されるようになりました。スクリプトで 古いモード(NATIVEEMULATED)を使用して開発された場合は、 移行手順に沿って、 IFRAME モードで適切に機能します。

setSandboxMode メソッドは呼び出されたときに効果がないようになりました。

iframe モードの制限

IFRAME サンドボックス モードは、 iframe サンドボックス化機能 次のキーワードを使用します。

allow-top-navigation キーワード。これにより、コンテンツが目的の場所を移動できます。 アクセスが制限されており、 できます。スクリプトをリダイレクトする必要がある場合は、 ユーザーが代わりにアクションを実行できるようにします

IFRAME モードでは、リンク ターゲット属性を次のいずれかに設定する必要があります _top または _blank:

Code.js

function doGet() {
  var template = HtmlService.createTemplateFromFile('top');
  return template.evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME);
}

top.html

<!DOCTYPE html>
<html>
 <body>
   <div>
     <a href="http://google.com" target="_top">Click Me!</a>
   </div>
 </body>
</html>

head 内で <base> タグを使用して、この属性をオーバーライドすることもできます。 セクションに追加されます。

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body>
   <div>
     <a href="http://google.com">Click Me!</a>
   </div>
 </body>
</html>

アクティブなコンテンツには HTTPS が必要です

[有効]コンテンツ 外部スタイルシート、XmlHttpRequests などの サポートしています。