我在 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&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&range=A1:B1" target="_blank">https://test.com/#gid=0&range=A1:B1</a>
</body>
</html>
老实说,我不记得我是从哪里学到这个的。
关于javascript - Google Apps 脚本模式窗口 HTML - 链接的 href 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63267538/