Caja / Google Apps脚本& jQueryUI手风琴

时间:2013-01-19 22:56:37

标签: jquery jquery-ui google-apps-script jquery-ui-accordion google-caja

这可能被证明是一个非常天真的问题,因为我刚开始使用jQueryUI,但更好的问一个愚蠢的问题,而不是疯狂地试图找出一个不是我的错误。最终,我正在尝试生成一个动态的项目列表,这些项目将作为JQUI手风琴显示给用户 - 问题是,它永远不会起作用。

我对文档的了解(包括Google应该在Caja / GAS沙箱中使用)是因为这会产生10'行'的手风琴优点。然而,在实践中,只有三个转换为手风琴风格,而其余的保持原始无聊的格式。控制台中没有任何内容 - 没有错误,警告等。但是,相同的HTML部分只能在客户端工作,因此我担心沙盒/语法问题。

我哪里错了?

请参阅以下Google Apps脚本项目中的示例代码:

code.gs:

function doGet()
{
  return HtmlService.createTemplateFromFile('myHtml.html').evaluate();
}

myHtml.html:

<html>
  <head>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
    <script type="text/javascript" src="http://code.jquery.com/ui/1.8.23/jquery-ui.min.js"></script>
    <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.23/themes/ui-lightness/jquery-ui.css" type="text/css" />
    <script>
      function createAccordion()
      {
        var html = "";
        for (var i = 0; i< 10; i++)
        {
          html += "<h3><div>Heading " + i + "</div></h3><div>Body " + i + " </div>\n";
        }
        console.log(html);
        $("#accordion").html(html);
        $("#accordion").accordion();
      }      
      $(document).ready(function(){
        console.log("Hello, world!");
        createAccordion();
      });
    </script>
  </head>
  <body>
    <div id="accordion">Stuff</div>
    <p>Hello!</p>
  </body>
</html>

编辑:奇怪的扭曲 - 如果我像这样初始化手风琴:

$("#accordion").accordion({ header: "h3" });

它莫名其妙地工作,就像预期的那样。我最好的猜测是,当jQueryUI要求所有“#accordion”的孩子()时,这与Caja的解析器发回一些时髦的东西有关,但它不会干扰.find()结果。不过,我都是为了获得更多知情意见的目光!

0 个答案:

没有答案