You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Apps Script模板字面量含URL触发语法错误的问题问询

问题解答

1. 问题成因与修正措施

这个问题的核心原因是Google Apps Script的HtmlService在解析<script>标签内的模板字面量时存在解析bug:当模板字面量中包含https://这类带有双斜杠的URL时,解析器错误地将URL里的//识别为JavaScript行注释的起始标记,导致模板字面量的结束反引号()被当成注释内容的一部分,最终JavaScript解析时发现模板字面量没有正确闭合,抛出Unexpected end of input`语法错误。

举个直观的例子,你的原始代码:

let x = `https://api.airtable.com`;

被错误处理后,相当于变成了:

let x = `https:
//api.airtable.com`; // 这里的`被注释掉了,导致模板字面量未闭合

正确的修正措施有两种:

  • 最推荐的方案:将模板字面量替换为普通的单引号或双引号包裹URL,这样就不会触发解析bug:
    let x = 'https://api.airtable.com';
    // 或者
    let x = "https://api.airtable.com";
    
  • 如果一定要使用模板字面量(比如后续需要拼接字符串),可以对URL中的双斜杠进行转义:
    let x = `https:\\/\\/api.airtable.com`;
    
    不过这种方式会让URL可读性下降,所以优先推荐第一种方案。

2. 错误行号与源码的对应关系

错误提示里的userCodeAppPanel:3是Google Apps Script对用户代码进行处理后,在其内部运行环境(userCodeAppPanel是Google的内部应用面板容器)中的行号,和你原始HTML源码的行号没有直接的一一对应关系。

Google会对上传的HTML文件做一系列后台处理:比如代码压缩、内容转义、将你的代码整合到其内部的插件框架代码中,这些操作都会改变代码的行结构。所以这个行号只能作为一个大致的错误范围参考,无法直接定位到你源码里的具体行。

内容的提问来源于stack exchange,提问作者Mike Hogan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 16:57:48