Apps Komut Dosyası, kullanıcılara kötü amaçlı HTML veya JavaScript'lerin sunulmasını önlemek için iframe'leri kullanarak HTML hizmeti web uygulamalarını veya Google Dokümanlar, E-Tablolar ve Formlar için özel kullanıcı arayüzlerini korumalı alana alır. (HTML hizmeti, e-postanın gövdesini oluşturmak gibi diğer durumlarda korumalı alan kullanmaz.) Korumalı alan, istemci taraflı koda sınırlamalar uygular.
Korumalı Alan Modu
IFRAME
hariç tüm korumalı alan modları kullanımdan kaldırıldı. Eski korumalı alan modlarını kullanan uygulamalar artık otomatik olarak yeni IFRAME
modunu kullanıyor. Eski modlar (NATIVE
ve EMULATED
) kullanılarak geliştirilmiş komut dosyalarınız varsa bunların IFRAME
modunda düzgün çalıştıklarından emin olmak için taşıma talimatlarını uygulamanız gerekir.
setSandboxMode
yönteminin artık çağrıldığında hiçbir etkisi yoktur.
IFRAME modundaki kısıtlamalar
IFRAME
korumalı alan modu, aşağıdaki anahtar kelimeleri kullanarak HTML5'teki iframe korumalı alan özelliğine dayanır:
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 bağımsız komut dosyası projeleri için ayarlanır.
İçeriğin üst düzey göz atma bağlamında gezinmesini sağlayan allow-top-navigation
anahtar kelimesi kısıtlanmıştır ve korumalı alanda bir özellik olarak ayarlanmaz. Komut dosyanızı yönlendirmeniz gerekirse bunun yerine kullanıcının işlem yapması için bir bağlantı veya düğme ekleyin.
Bağlantı hedefi özelliğini ayarlama
IFRAME
modunda bağlantı hedefi özelliğini _top
veya _blank
olarak ayarlamanız gerekir:
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, çevreleyen web sayfasının başlık bölümündeki <base>
etiketini kullanarak da geçersiz kılabilirsiniz:
<!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
Komut dosyaları, harici stil sayfaları ve XmlHttpRequests gibi "Aktif" içeriklerin, HTTP yerine HTTPS üzerinden yüklenmesi gerekir.