【发布时间】:2019-04-26 16:34:08
【问题描述】:
我正在开发模板化 HTML 的版本,如 https://developers.google.com/apps-script/guides/html/templates 中所述。我的代码让我一直到一个格式正确的网页,但有一个小问题:代码在每个项目之间粘贴了一个空格。所以,我得到的是“an n i t e m”而不是“an item”。 (实际输出截图如下。)
我怀疑罪魁祸首在下面也转载的html文件中。
我研究了模板化的 html 和“空白”、“插入的空格”等,但找不到其他人遇到过这个问题。
最小的完整可验证示例:
索引.html
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<table>
<ul type="square">
<? for (var i = 0; i < data.length; i++) { ?>
<li><? for (var j = 0; j < data[i].length; j++) { ?>
<?= data[i][j] ?>
<? } ?></li><br>
<? } ?>
</ul>
</table>
</body>
</html>
data 来自
代码.gs
function doGet(){
var instrument = "Martin D-18 (↓1/2)";
var tuning = "Drop D";
var key ="Db";
var t = HtmlService.createTemplateFromFile('Index');
t.data = [instrument, tuning, key];
return t.evaluate();
}
在现实世界中,变量 instrument、tuning、key 是从我的电子表格中检索到的简单字符串,但如果我将它们替换为如上所示的字符串类型的变量,我能够重现相同的问题。
更新 -
re monofont 没有问题。这是脚本中的日志,显示了 html 正在解析的基础变量。如您所见,没有不合适的空格。
[19-04-26 13:27:24:743 EDT] instrument = Martin D-18 (↓1/2)
[19-04-26 13:27:24:743 EDT] tuning = Drop D
[19-04-26 13:27:24:744 EDT] settings =
[19-04-26 13:27:24:744 EDT] key = Db
[19-04-26 13:27:24:745 EDT] chord = D
【问题讨论】:
-
您是否尝试过删除样式表以确保不是某种字符间距?
-
我认为问题是由于您在打开和关闭脚本之间留下的空白......我真的不知道 google-apps-script,但这似乎是一个问题。 ..
-
如果这是 PHP 代码,那么这肯定是问题所在。 之间可以有空格,它们不会显示在 HTML 中,但如果 HTML 中有空格,它可能会显示。例如,我使用“可能”而不是“将”,因为 HTML 不会呈现连续的空格。
-
在我添加 CSS 之前问题就存在了。是的,绝对是空格。如果您将页面复制并粘贴到文字处理器中,实际上每个页面之间都有空格。
-
谢谢。会牢记@TheMaster
标签: html google-apps-script web-applications