Привет! Я создал 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>