خدمة HTML: القيود

لحماية المستخدمين من لغة HTML أو JavaScript الضارة، تستخدم خدمة HTML إطارات iframe لتوفير بيئة معزولة لتطبيقات الويب أو واجهات المستخدم المخصّصة في "مستندات Google" و"جداول بيانات Google" و"نماذج Google". لا تستخدم خدمة HTML وضع الحماية في حالات أخرى، مثل إنشاء نص رسالة إلكترونية. تفرض البيئة التجريبية قيودًا على الرموز البرمجية من جهة العميل.

وضع الحماية

تم إيقاف جميع أوضاع وضع الحماية باستثناء IFRAME. تستخدم التطبيقات التي كانت تستخدم الوضع NATIVE أو EMULATED تلقائيًا الآن الوضع IFRAME. إذا تم تطوير البرنامج النصي باستخدام وضع قديم، اتّبِع تعليمات نقل البيانات لضمان عمله بشكل سليم.

لم يعُد للطريقة setSandboxMode أي تأثير عند استدعائها.

القيود في وضع IFRAME

يستند وضع الحماية IFRAME إلى ميزة وضع الحماية في إطار iframe في HTML5، وذلك باستخدام الكلمات الرئيسية التالية:

يتم حظر الكلمة الرئيسية 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>

يمكنك أيضًا إلغاء هذه السمة باستخدام العلامة <base> ضمن قسم head في صفحة الويب الحاضنة:

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

يجب استخدام HTTPS للمحتوى النشط

يجب تحميل المحتوى النشط، مثل النصوص البرمجية وأوراق الأنماط الخارجية وXmlHttpRequests، عبر HTTPS وليس HTTP.