[英]How to open a URL link from JavaScript inside a Google Apps Script HTML Google Site Gadget
我已经在Google Apps脚本中编写了一个HTML(非UI)小工具,可以嵌入到Google网站中。 小工具显示一个下拉菜单,其中包含URL /显示名称值/文本对的选项。
我想在小工具中放置一个按钮,以打开一个与所选URL相对应的新窗口。 但是,基本上,我执行时会收到“对象不包含'打开'方法”错误
window.open(url);
有没有解决的办法? 我可以(并已经)使用锚定标签创建了可以成功打开其他窗口的小工具,但是似乎不允许通过javascript执行相同的操作。
任何完成功能的都可以。 基于jQuery的解决方案会很棒。
谢谢。
由于进行了Caja的清理,因此不支持所有javascript函数,因此无法在App Script中打开新窗口。
在App Script中显示弹出窗口的解决方法是使用覆盖窗口(从技术上讲不是弹出窗口,但看起来像弹出窗口),如App Script支持的jQuery模态对话框。
但是,App脚本中不支持iframe标签,因此,在iframe标签的帮助下尝试在模式窗口中打开url无效。
您可以通过以下链接在App Script中阅读有关这些限制的更多信息:
https://developers.google.com/apps-script/guides/html/restrictions **
希望能帮助到你!
您可以使用HTMLService在对话框中运行window.open()JS直接打开链接。
这是一个演示表 (请复制一份以查看脚本)。
openNewWindow()被分配给按钮。
代码gs:
function openNewWindow() {
var htmlString =
'<div>' +
'<input type="button" value="Close" onclick="google.script.host.close()" />' +
'</div>' +
'<script>window.open("http://www.google.com")</script>';
var htmlOutput = HtmlService
.createHtmlOutput(htmlString)
.setSandboxMode(HtmlService.SandboxMode.IFRAME)
.setHeight(60);
SpreadsheetApp
.getUi()
.showModalDialog(htmlOutput, 'Opening New Window...');
}
由于进行了caja消毒,因此无法做到这一点。 以下选项将不起作用。
1)jquery-$(“#some_link_id”)。click()2)javascript-window.open,window.href等...
唯一的解决方法,但我想这不适合您的问题是使用target =“ _ blank”创建链接以打开新窗口,但是正如我所说,无法通过javascript / jquery单击这些链接。
<a href="http://www.google.com" id="my_link" class="abc" target="_blank">My Link</a>
我能够使用表格来实现。 提交后,将表单的操作设置为所需的URL,该URL由选择框中的所选项目确定。
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
$('document').ready(function(){
$('#yourForm').attr('onsubmit',null); //set onsubmit to Null for NATIVE Caja sandboxmode
$('#yourForm').submit(function(){
var val = $('#yourSelect').val(); //get value of select box
$('#yourForm').attr('action',val); //set action of form
});
});
</script>
<div>
<select id="yourSelect">
<option value="https://www.google.com">Google</option>
<option value="https://www.bing.com">Bing</option>
</select>
<form id="yourForm" method="get" target="_blank" action="">
<input type="submit" value="Open Selected">
</form>
</div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.