我有一个 Google 协作平台页面。如何在其中嵌入 JavaScript 代码,而无需实现小工具并在其中添加 JavaScript 代码?
5 回答
您可以运行一些 JavaScript 代码,但是在页面编辑期间它会自动包装到一个琐碎的小工具中,并且在渲染页面时它将在 iframe 内执行,并且无法与主页面的 DOM 交互- 这是被阻止的通过浏览器和 Google 网站的安全机制。
因此,如果您不想实现小工具,您的脚本所做的任何事情都会在其 iframe 的沙箱中执行,其外部大小是在页面设计时定义的。
即使您在其中实现了一个带有脚本的小工具,它也将在同一个 iframe 沙箱中运行。但是小工具有一些优点,例如访问 API,允许动态更改 iframe 的大小,以及其他一些。
参考这篇文章你需要创建一个可以从服务器访问的Google Gadget文件来共享文件并编写以下代码:
<Module>
<ModulePrefs title="Custom Gadget"/>
<Content type="html">
<![CDATA[
<script src="PUT YOUR SCRIPT HERE"></script>
]]>
</Content>
</Module>
将文件另存为Name.xml并将其上传到具有公共访问权限(不受密码保护)的文件托管服务。然后插入如下链接:
插入 > .. 更多小工具 > 通过 URL 添加小工具
将 url 复制到保存的 .xml Google Gadget 代码后,您将通过您自己的自定义 Google Gadget 嵌入 javascript。
您可以使用该HTML Box
小工具,您可以在菜单中找到它:
它允许您插入自定义 HTML、CSS 和 Javascript。
注意事项:
- 您的 HTML 加载到
<iframe>
, - 您的代码无法与
HTML Box
- 目前
HTML Box
不支持<iframe>
, - 您的脚本无法创建任何
<script>
,<img>
或<a>
标签,
谷歌更新了嵌入 HTML 和 Javascript 的机制。
请参阅https://gsuiteupdates.googleblog.com/2017/12/embed-html-and-javascript-in-new-google-sites.html。
它仍然在 iframe 中被沙盒化,具有@Serge Populov 的回答中提到的限制。
您可以在此处阅读有关如何执行此操作的 Google 文档http://support.google.com/sites/bin/answer.py?hl=en&answer=2500646&ctx=cb&src=cb&cbid=-11zqfs2rw8yfe&cbrank=0