锚点/图片中的可点击网址无法通过嵌入Google经典网站的Google脚本工作

问题描述 投票:0回答:1

我试图在Google经典网站中嵌入一个来自Google Scripts的项目,该项目包含指向同一Google Classic网站内单独页面的可点击图片(我有理由不直接使用Sites编辑器并插入图像带有页面链接)。

问题是,当我点击图像/锚点时,我发现可怕的“sites.google.com拒绝连接”。没有错误记录在Cloud Platform中,但console.log错误是这样的:Refused to display 'https://sites.google.com/a/DOMAIN/SITE_NAME/PAGE_NAME/' in a frame because it set 'X-Frame-Options' to 'sameorigin'

我如何从脚本嵌入到经典网站:

  1. 从Scripts =>发布/部署为具有设置的Web应用程序: 执行应用程序:尝试我和我的用户 谁有权访问该应用:DOMAIN中的任何人
  2. 来自Scripts =>测试Web应用程序以获取最新的代码结果:与嵌入Classic Sites时相同
  3. 来自Classic Sites => Edit Page / Insert / Apps Script,然后粘贴已发布Scripts项目的URL。

以下是我嵌入的Google Apps脚本中的代码:

Code.gs文件

function doGet() {
    return HtmlService.createTemplateFromFile('Buttons').evaluate()
      .setTitle('Client Home Page');
}

Buttons.html文件

<!DOCTYPE html>
<html>
    <head>
        <?!= HtmlService.createHtmlOutputFromFile('stylesheet').getContent(); ?>
    </head>  
    <body>            
        <a href="https://sites.google.com/a/DOMAIN/SITES_NAME/PAGE_NAME/" imageanchor="1" target="" >
            <img src="https://sites.google.com/a/DOMAIN/IMAGE_LINK" border="0" alt="Image" >
        </a>
    </body>
</html>

我也尝试过:

  • 将脚本嵌入为iFrame小工具。结果:根本不显示UI。
  • 添加onclick事件以获取URL(请参阅下面的代码更改)。结果:嵌入区域,按钮显示在单击时变为空白,在云平台或控制台中没有记录错误。

fetchUrl尝试:更改Code.gs文件

function doGet() {
    return HtmlService.createTemplateFromFile('Buttons').evaluate()
      .setTitle('Home');
}

function setUrl(url) {    
    var response = UrlFetchApp.fetch(url);
    return response.getContentText();    
}

fetchUrl尝试:更改Buttons.html文件中的锚标记

<a href="" onclick="google.script.run.setUrl('https://sites.google.com/a/DOMAIN/SITES_NAME/PAGE_NAME/')" imageanchor="1" target="" >
    <img src="https://sites.google.com/a/DOMAIN/IMAGE_LINK" border="0" alt="Image" >
</a>

任何帮助或见解将不胜感激!

此外,Leora

google-apps-script google-sites
1个回答
1
投票

弄清楚了!我错过了我的HTML文件(<base>)中的<base target="_top">标记。

虽然这是在您在Google Apps脚本中创建的任何新HTML文件中自动提供的,但我已经使用VS Code编写的代码进行了复制和粘贴,因此省略了它。

一旦我把它添加回来,一切都按预期工作。如果其他人遇到这个问题,请留下这个。

非常感谢任何试图调查此事的人......

此外,Leora

© www.soinside.com 2019 - 2024. All rights reserved.