HTML Hizmeti: Kısıtlamalar

Kullanıcılara kötü amaçlı HTML veya JavaScript sunulmasını önlemek için Apps Komut Dosyası HTML hizmeti web uygulamalarını veya özel kullanıcıyı korumalı alana almak için iframe'leri kullanır. Google Dokümanlar, E-Tablolar ve Formlar'ı kullanabilirsiniz. (HTML hizmeti, bir dosya adında bir (ör. e-postanın gövdesinin oluşturulması gibi diğer durumlarda) korumalı alana alın.) Korumalı alan istemci tarafı koda sınırlamalar getirir.

Korumalı Alan Modu

IFRAME hariç tüm korumalı alan modları kullanımdan kaldırıldı. Daha eski korumalı alanı kullanan uygulamalar modları artık otomatik olarak yeni IFRAME modunu kullanıyor. Belgenizde eski modlar (NATIVE ve EMULATED) kullanılarak geliştirilmişse taşıma talimatlarını uygulayarak IFRAME modunda düzgün şekilde çalıştıklarından emin olun.

setSandboxMode yönteminin artık hiçbir etkisi yoktur.

IFRAME modundaki kısıtlamalar

IFRAME korumalı alan modu şuna göredir: iframe korumalı alanı özelliği şu anahtar kelimeleri kullanarak HTML5'te değiştirin:

  • allow-same-origin
  • allow-forms
  • allow-scripts
  • allow-popups
  • allow-downloads
  • allow-modals
  • allow-popups-to-escape-sandbox
  • allow-top-navigation-by-user-activation - Bu özellik yalnızca şunun için ayarlanır: bağımsız komut dosyası projeleri hakkında daha fazla bilgi edinin.

İçeriğin gezinmesine olanak tanıyan allow-top-navigation anahtar kelimesi üst düzey göz atma bağlamı, kısıtlanmıştır ve korumalıdır. Komut dosyanızı yönlendirmeniz gerekirse tercih etmesi gerekir.

IFRAME modunda bağlantı hedefi özelliğini _top veya _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>

Bu özelliği, başlık bölümündeki <base> etiketini kullanarak da geçersiz kılabilirsiniz. bölümüne ekleyin:

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

Etkin içerik için HTTPS gereklidir

"Etkin" içerik gibi komut dosyaları, harici stil sayfaları ve XmlHttpRequests dosyası gibi HTTPS, HTTP değil.