【发布时间】:2012-04-27 20:55:49
【问题描述】:
我有一个 Google 协作平台页面。如何在其中嵌入 JavaScript 代码,而不实现小工具并在其中添加 JavaScript 代码?
【问题讨论】:
我有一个 Google 协作平台页面。如何在其中嵌入 JavaScript 代码,而不实现小工具并在其中添加 JavaScript 代码?
【问题讨论】:
Google 更新了嵌入 HTML 和 Javascript 的机制。
见https://gsuiteupdates.googleblog.com/2017/12/embed-html-and-javascript-in-new-google-sites.html。
它仍然在 iframe 中进行沙盒处理,具有@Serge Populov 的回答中提到的限制。
【讨论】:
你可以运行一些 JavaScript 代码,但是在页面编辑时它会自动包装到一个小工具中,而在渲染页面时它会在 iframe 中执行,而 不会能够与主页的 DOM 进行交互 - 这是由浏览器和 Google 网站的安全机制所阻止的。
因此,如果您不想实现小工具,您的脚本所做的任何事情都会在其 iframe 的沙箱中执行,其外部大小在页面设计时定义。
即使您使用脚本实现了一个小工具,它也将在同一个 iframe 沙箱中运行。但是小工具有一些优点,例如可以访问 API,允许动态更改 iframe 的大小等等。
【讨论】:
参考this article你需要创建一个可以从服务器访问的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 小工具代码后,您将通过您自己的自定义 Google 小工具嵌入 javascript。
【讨论】:
您可以使用HTML Box 小工具,您可以在菜单中找到它:
它允许你Insert custom HTML, CSS, and Javascript。
注意事项:
<iframe>,HTML Box 之外的内容进行交互
HTML Box 目前不支持<iframe>,<script>、<img> 或<a> 标签,【讨论】:
您可以在此处阅读有关如何执行此操作的 Google 文档 http://support.google.com/sites/bin/answer.py?hl=en&answer=2500646&ctx=cb&src=cb&cbid=-11zqfs2rw8yfe&cbrank=0
【讨论】: