javascript - Google Apps 脚本模式窗口 HTML - 链接的 href 问题

标签 javascript html url google-apps-script

我在 Google Apps 脚本模式窗口 HTML 解析机制方面遇到了一些奇怪的问题。

最小可重现示例:

var ui = SpreadsheetApp.getUi();

var template = HtmlService.createTemplateFromFile('html/test');

var html = template.evaluate().setWidth(1920).setHeight(1080);
ui.showModalDialog(html, 'Test');

html/test.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <a href="https://test.com/#gid=0&range=A1:B1" target="_blank">https://test.com/#gid=0&range=A1:B1</a>
</body>
</html>

模态窗口中的预期输出:指向 https://test.com/#gid=0&range=A1:B1 的链接。

实际链接意外指向不同的 URL:https://test.com/#gid=0%E2%A6%A5=A1:B1

Google Chrome 开发者工具显示下一个链接的 HTML:

<a href="https://test.com/#gid=0⦥=A1:B1" target="_blank">https://test.com/#gid=0&amp;range=A1:B1</a>

为什么链接的 href 会被覆盖?有什么办法可以让 Google Apps 脚本按原样显示链接吗?

最佳答案

尝试这样:

GS:

function displayMyDialog() {
  var ui = SpreadsheetApp.getUi();
  var template = HtmlService.createTemplateFromFile('ah3');//my html file name
  var html = template.evaluate().setWidth(1200).setHeight(450);//change to fit my window
  ui.showModalDialog(html, 'Test');
}

& 替换为 &

html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <a href="https://test.com/#gid=0&amp;range=A1:B1" target="_blank">https://test.com/#gid=0&amp;range=A1:B1</a>
</body>
</html>

老实说,我不记得我是从哪里学到这个的。

关于javascript - Google Apps 脚本模式窗口 HTML - 链接的 href 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63267538/

相关文章:

javascript - Vue JS 将下一个输入集中在 enter 上

javascript - 如何将分钟格式化为小时和分钟,但仅在 > 60 分钟时显示小时?

javascript - 根据表格数据对表格行进行排序

html - 如何让右侧的消息列向上?

asp.net - 编码问题asp.net

php - 使用正则表达式提取 URL 参数 - 重复捕获组

javascript - 如何在 Openlayers 中绘制 LinearRing

javascript - 为什么函数 in then 没有接收到对象

html - 滚动时如何让文本与背景图像保持固定?

java - 如何找出正确的 ldap 参数