我将脚本附加到按钮上,单击后它将打开一个全新的标签,指向脚本中所需的链接。但是,我似乎无法摆脱使我与链接交互并变得多余的对话框。一个人将如何实现这一目标?
我研究了e.preventDefault()
和(window).blur(function()
,看看它们是否可以引导我朝正确的方向前进,但仍然会弹出一个对话框。
function openForm(){
var html = "<script> window.open('Any Link In Here');</script>";
}
我希望通过单击我的按钮来实现此目的,它只会打开一个全新的标签,指向我想要的任何所需链接,但是什么也没发生。
答案 0 :(得分:0)
为什么不简单使用:
function openForm(){
var html = "<script> window.open('Any Link In Here', '_blank');</script>";
}
答案 1 :(得分:0)
我找到了答案。感谢@Tedinoz帮助我并找到此链接Google Apps Script to open a URL。
在此链接中,“ TheMaster”提供了一个很好的答案。这里有两件事,HTML源代码和javascript。在HTML中的var winRef = window.open(url1);
在另一个选项卡中打开URL,但是会打开一个对话框。
下一行显示
winRef ? google.script.host.close() : window.alert('Allow popup to redirect you to '+url1) ;
这似乎是关闭了Google工作表中的对话框,该对话框似乎是此部分
winRef ? google.script.host.close()
简而言之,当使用Javascript为您设置HTML文件的名称时,请确保JavaScript上的第6行反映的名称与HTML源名称相同。
HtmlService.createHtmlOutputFromFile('openUrl').setHeight(50), // 'openUrl is the name of the HTML source, name this whatever.
完成后,转到您的按钮,并使用javascript函数modalUrl
附加您命名的脚本。
这是完整的脚本。如果“ TheMaster”曾经看到过此消息,请告诉我是否钉了我上面所说的话。
openUrl.html
<!DOCTYPE html>
<html>
<head>
<base target="_blank">
<script>
var url1 ='https://stackoverflow.com/a/54675103';
var winRef = window.open(url1);
winRef ? google.script.host.close() : window.alert('Allow popup to redirect you to '+url1) ;
window.onload=function(){document.getElementById('url').href = url1;}
</script>
</head>
<body>
Kindly allow pop ups</br>
Or <a id='url'>Click here </a>to continue!!!
</body>
</html>
code.gs
function modalUrl(){
SpreadsheetApp.getUi()
.showModalDialog(
HtmlService.createHtmlOutputFromFile('openUrl').setHeight(50),
'Opening StackOverflow'
)
}