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

从Google Sheets生成的JS变量无法读取,如何修复?

问题修复:无法读取Google Sheets生成的JS变量

问题描述

我在Google Sheets的B1、B2单元格分别输入以下公式:
B1 = "name = " & "'" & A1 & "' ;"
B2 = "city = " & "'" & A2 & "' ;"
生成了合法的JS语句name = 'Prabhu Paul' ;和city = 'India' ;。随后将表格发布为.csv格式,获取对应URL,并通过WordPress的functions.php文件将该URL作为脚本添加到站点头部:

function ti_custom_javascript() {
    ?>
        <script type="text/javascript" src="https://docs.google.com/spreadsheets/d/e/2PACX-1vSQIORejF59NZEyEigMfHFpNcs-XCjKyUbTSrcWJcR0Mn3DO6oSHWeGfm3XvnqQBj1ipMI00I-r5qH7/pub?gid=0&single=true&range=b1:b2&output=csv"></script>
    <?php
}
add_action('wp_head', 'ti_custom_javascript');

之后在网页的自定义HTML块中编写代码尝试读取变量,期望段落显示为“Hi, This is Prabhu Paul, and I'm from India”,但无法读取变量值。

问题原因

CSV格式的文件会被浏览器当作纯文本解析,而非可执行的JavaScript代码。即便内容是合法的JS语句,浏览器也不会执行其中的代码,自然无法生成全局变量供后续读取。

修复步骤

1. 修改Google Sheets的输出格式参数

将发布链接中的output=csv改为output=txt,让浏览器加载纯文本格式的内容并当作JS执行:

function ti_custom_javascript() {
    ?>
        <script type="text/javascript" src="https://docs.google.com/spreadsheets/d/e/2PACX-1vSQIORejF59NZEyEigMfHFpNcs-XCjKyUbTSrcWJcR0Mn3DO6oSHWeGfm3XvnqQBj1ipMI00I-r5qH7/pub?gid=0&single=true&range=b1:b2&output=txt"></script>
    <?php
}
add_action('wp_head', 'ti_custom_javascript');

2. 确保变量在全局作用域定义(可选优化)

为避免作用域问题,可修改Google Sheets的公式,给变量添加var或let声明:

  • B1公式改为:"var name = " & "'" & A1 & "' ;"
  • B2公式改为:"var city = " & "'" & A2 & "' ;"

3. 确保读取代码在脚本加载后执行

在自定义HTML块中,将读取变量的代码放在DOMContentLoaded事件监听内,保证脚本加载完成后再执行:

<script>
document.addEventListener('DOMContentLoaded', function() {
  const p = document.createElement('p');
  p.textContent = `Hi, This is ${name}, and I'm from ${city}`;
  // 替换为你的目标容器选择器,比如自定义HTML块内的某个元素ID
  document.querySelector('#your-target-element').appendChild(p);
});
</script>

内容的提问来源于stack exchange,提问作者Prabhu Paul

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 02:10:57