如何防止广告拦截器在使用google.script.host.close()的Google Apps脚本自定义对话框中查杀链接

时间:2016-06-04 08:17:30

标签: google-apps-script

documentation for custom dialogs中建议调用google.script.host.close()关闭窗口。我正在使用它作为流程的一部分,要求用户从对话框中打开一个新的浏览器选项卡,例如

<a href="<?= SERVICE_URL ?>" onclick="google.script.host.close();" class="button action" target="_blank" id="next-button">Easy Setup</a>

这适用于大多数人,对话框窗口关闭,用户打开一个新选项卡,但我发现有些用户看到广告拦截器终止链接意味着对话框没有关闭,更令人担心的是新标签没有打开。

我可以删除<a>上的onclick但是想知道是否有更好的解决方案在点击链接时仍会关闭对话框?

1 个答案:

答案 0 :(得分:2)

我将代码移动到一个函数中。您可以使用DOM而不是<a>标记打开另一个浏览器标签。

<button class="action" onmouseup="openAnotherTab()">Easy Setup</button>

window.openAnotherTab= function() {
  window.open(href="url", target="_blank");
  google.script.host.close();
};

我还没有通过广告拦截器对此进行测试,但我认为广告拦截器正在查看HTML元素,而不是脚本标记。