【问题标题】:Does caja fix malformed HTML when using GAS createHtmlOutput() method?使用 GAS createHtmlOutput() 方法时,caja 是否修复了格式错误的 HTML?
【发布时间】:2013-03-28 22:59:03
【问题描述】:

在下面的示例中,内容“这里还有一些文本”显然位于结束 HTML 标记之外。但是当我运行the script as a web app and view the page source 时,它位于结束标记内。这是因为 caja 正在清理格式错误的 HTML 吗?为什么要以这种方式清理而不是通知我错误?

气体代码:

function doGet() {
    var ParagraphContent ='So much to do in so little time... '
    var HTMLToOutput = '<html><h1>A header</h1><p>' + ParagraphContent + '</p></html>';
    var HtmlAndMore = HTMLToOutput + 'Here is some more text';
    var it = HtmlService.createHtmlOutput(HtmlAndMore);
    Logger.log(HtmlAndMore)
    return it 
}

GAS 脚本编辑器日志输出:

<html><h1>A header</h1><p>So much to do in so little time... </p></html>Here is some more text

【问题讨论】:

    标签: google-apps-script google-caja


    【解决方案1】:

    Caja 旨在根据 HTML5 解析算法进行操作(该算法旨在将浏览器供应商关于必须如何解析 HTML-in-the-wild 的共识编码,并定义一个正确的解析-错误-恢复策略) .该算法effectively specifies&lt;/html&gt; 之后的尾随内容插入&lt;body&gt;,因此您看到的结果就是指定的。

    但是,它也指定该输入是一个解析错误(这只是意味着它可能被报告或可能中止处理)。遗憾的是,我们的最新技术(“ES5 模式”)尚未尝试报告解析错误。我已经 made a note 来解决这个问题。

    【讨论】:

    • 请在某处的输出中报告原因!我知道这是几年前的事了。我不能是唯一想要这个的用户,对吗?
    猜你喜欢
    • 1970-01-01
    • 2014-05-04
    • 1970-01-01
    • 1970-01-01
    • 2015-06-19
    • 2019-12-13
    • 2011-10-10
    • 2021-07-14
    相关资源
    最近更新 更多