Приложение Google Script 3-я и 4-я страницы не отображаются в iframe - PullRequest
0 голосов
/ 17 февраля 2020

Привет! Я создал 4-х страничный скрипт приложения Google HTML. Когда я запускаю его с развернутого URL-адреса, все в порядке, я могу получить доступ ко всем 4 страницам, но когда я перехожу на IFRAME на сайте Google, 3-я и 4-я страницы не отображаются. Каждая страница ссылается друг на друга через пользователя, нажимающего на изображение.

gs.code

 var Route ={};
    Route.path = function(route,callback){
      Route[route]=callback;
    }

    function doGet(e) {
      Route.path('page1',loadForm1);
      Route.path('page2',loadForm2);
      Route.path('page3',loadForm3);
      Route.path('page4',loadForm4);

      if(Route[e.parameters.page]){
        return Route[e.parameter.page]();
      }else{
        return render("page1"); 
      }}
function loadForm1(){
var tmp=HtmlService.createTemplateFromFile('page1');
return tmp.evaluate().setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);

}

function loadForm2(){
var tmp=HtmlService.createTemplateFromFile('page2');
return tmp.evaluate().setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);

}

function loadForm3(){
var tmp=HtmlService.createTemplateFromFile('page3');
return tmp.evaluate().setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);

}

function loadForm4(){
var tmp=HtmlService.createTemplateFromFile('page4');
return tmp.evaluate().setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);

}


function getScriptUrl() {
 var url = ScriptApp.getService().getUrl();
 return url;
}

utils.gs

function render(file,argsObject){

  var tmp = HtmlService.createTemplateFromFile(file);
  if(argsObject){
    var keys = Object.keys(argsObject);
    keys.forEach(function (key){
      tmp[key] = argsObject[key];
    });
  }
  return tmp.evaluate().setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);
}

page1 // все остальные страницы похожи.

<!DOCTYPE html>
<html>
  <head>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <base target="_self">
    <?!= include("page-css"); ?>

  </head>
  <body>

   <div class="header">
  <p><font size="20" color=#ADD8E6>Click on the smiley!</font></p>
  </div>
  <div class="main">
  <p><font size="20" color=#968D99>This is your first page!</font></p>
  <?var url = getScriptUrl();?><a href='<?=url?>?page=page2'>
  <img id="img1" onClick="imgClicked(this.alt)" alt="image1" src='http://imagelink' width=200 height=200/>
   </a>

</div>


    <script>

    function imgClicked(clicked){
    var id = clicked
    google.script.run.page1(id);
    }

    </script>

  </body>
</html>
...