خدمة 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> ضمن قسم الرأس في صفحة الويب المضمّنة:

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

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

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