首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么Google应用程序脚本htmloutput的caja清除在特定字符串上失败

为什么Google应用程序脚本htmloutput的caja清除在特定字符串上失败
EN

Stack Overflow用户
提问于 2012-11-07 12:06:26
回答 1查看 941关注 0票数 1

我正在尝试准备气体代码样本,以嵌入到谷歌网站和其他网站。我使用HtmlService.createHtmlOutput和HtmlService.createTemplateFromFile()和template.evaluate().getContent()来提供google应用程序脚本内容的html版本。所有这些都按照这个职位很好地工作。

现在,我想使用prettyify.js美化代码。我使用的是埋入caja版本,它几乎可以工作。但是,正在美化的代码中的特定方法名称会引发来自htmlservice的错误。

不受支持的来宾构造对象的不驯服。期望一个函数而不是字符串: pln

具体来说,这篇文章被成功美化了,

代码语言:javascript
运行
复制
function xisItHtml (e) {
  return ( e.parameter.hasOwnPropertu('template')) ;
}

而这会抛出一个错误

代码语言:javascript
运行
复制
function xisItHtml (e) {
  return ( e.parameter.hasOwnProperty('template')) ;
}

似乎特定的方法(奇怪,因为没有执行这些代码,只是美化),导致caja卫生投诉。

模板中的代码就是

代码语言:javascript
运行
复制
$(document).ready(function () {
 // any jQueryness can happen here...
  try { 
    prettyPrint();
  }
  catch(err) {
    alert("failed prettification " + err);
  }
});

我有点困惑。有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-07 19:29:22

因此,当您将包含.toString()或.hasOwnProperty()的经过修饰的文本插入到GAS中的there输出中时,似乎出现了失败。我找不到任何其他导致问题的文本,但可能还有更多。我的黑客只是在美化之前修改文本,然后再修改。

代码语言:javascript
运行
复制
$(document).ready(function () {
   // any jQueryness can happen here...
    var thingsThatScrewUp = [ 'toString', 'hasOwnProperty'],t;

    $('.pretty').each( function(i,elem) {
       var c = $(elem).text() ;
       // disguise
       for (var i = 0 ; i < thingsThatScrewUp.length ; i++ ) {
        c = c.replace(new RegExp("." + thingsThatScrewUp[i], 'g'),".sandw_" + i + "_ch");
       }
       try {
         t = prettyPrintOne(c);
       }
       catch (err) {
        $('#report').html(err + c);
       }
       // undisguise
       for (var i = 0 ; i < thingsThatScrewUp.length ; i++ ) {
         t = t.replace(new RegExp("sandw_" + i + "_ch", 'g'),thingsThatScrewUp[i]);
       }
       $(elem).html("<pre class='code pretty prettyprint'>" + t + "</pre>");
      });
      $('#working').html('Module:');
  });

这是一个工作版本

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13269471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档