Google 协作平台 HTML 框 - 剥离 Javascript

Posted

技术标签:

【中文标题】Google 协作平台 HTML 框 - 剥离 Javascript【英文标题】:Google Sites HTML Box - stripping Javascript 【发布时间】:2012-06-15 14:12:21 【问题描述】:

我正在尝试在 Google 协作平台中利用新的 html Box Gadget。我们希望利用<select> 框作为简单菜单来导航到我们网站中的其他页面。

根据 Google (http://support.google.com/sites/bin/answer.py?hl=en&answer=2500646) 提供的详细信息和示例,这应该是可以实现和支持的。但是,当页面呈现时,javascript 消失了,没有任何功能。 Firebug 没有报告 JS 问题。

HTML 框解析良好,小工具编辑器没有错误或警告。

我们正在使用的代码:

<style>
  select  font-family: Arial; width: 100px; 
  input  font-family: Arial; 
</style>

<form id="menu-form1" action="">
 <select id="jm1" class="jumpmenu">
     <option value="http://google.com/">Google</option>
     <option value="http://yahoo.com/">Yahoo!</option>
     <option value="http://ask.com/">Ask.com</option>
 </select>
 <input type="button" class="jumpbutton" value="GO" />
</form>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.js"> </script>
<script>
var menuChange = function() 
    var selectBox = $('.jumpmenu');
    alert(selectBox.val());
    window.top.location.href = selectBox.val();


$('.jumpmenu').change(menuChange.bind(null));
$('.jumpbutton').click(menuChange.bind(null));

</script>

除非从 JavaScript 的角度来看我在做一些“非法”的事情,但我不认为这违背了 Google 不支持的功能:

iframe JavaScript 代码无法创建任何脚本、图像或链接标签 文档/窗口 onload 和 onready 函数。您可以将任何 JavaScript 放在需要在文档加载后加载的代码末尾。

有没有人做过类似的工作并且可以看到任何会导致 Google 协作平台剥离 JavaScript 的内容?

提前感谢您的帮助。

【问题讨论】:

【参考方案1】:

重要的是您使用的是什么版本的 jQuery。尝试使用 1.7.2 版本。我将您的版本(1.6)加载到我的示例中,但它停止工作。使用 1.7.2 似乎可行。

试试这个:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js"> </script>

我尝试再次阅读此内容 - 您是在问为什么按钮在做出选择后没有启动实际 URL?

【讨论】:

【参考方案2】:

对我有用的只是保存然后按班次刷新页面。

【讨论】:

以上是关于Google 协作平台 HTML 框 - 剥离 Javascript的主要内容,如果未能解决你的问题,请参考以下文章

使用 Google 协作平台中的 Google Calendar API

对 Google 协作平台提要/API 的 CORS 身份验证请求被阻止

xml 适用于Google协作平台的Twitter Feed模块

使用“返回”按钮时,Google 协作平台小工具在 Chrome 上消失

无法在Google协作平台上传本地文件

Google协作平台应用脚本不适用于自定义域