在 jquery/javascript 中访问 Google 应用程序功能

Access Google App Functions in jquery/javascript

我在 google 个网站上使用 google 个应用程序脚本。我创建了一个导航菜单,并将其嵌入到页面中。我想从 google 脚本获取 pageURL() 并在我的 JavaScript 页面中检索它。我尝试使用 scriptlet 获取值,但它没有执行。这是我到目前为止所拥有的。如何访问 google 应用程序脚本中的值并在我的 JavaScript 函数中使用它们?

google 脚本 (.gs)

 function getPageName(){
    var site = SitesApp.getSite("site.com", "sitename");
    var page = site.getChildren()[0];
    var pageName = page.getUrl().split("/").splice(-1)[0];
    return pageName;
 }

javascript 文件

var pageName =  <?!= getPageName()?>; // doesnt execute, need to get page url
if(pageName == linkName){
 // add class here. 
}

由于 google 将应用程序脚本作为 iframe 加载,我尝试 window.location.href,但它也不起作用。页面名称最终成为 google 应用程序的名称。

使用 scriptlet 的替代方法是使用 google.script.run (Client-side API)

它非常易于使用。在你的情况下,它应该是这样的

code.gs

function getPageName(){
    var site = SitesApp.getSite("site.com", "sitename");
    var page = site.getChildren()[0];
    var pageName = page.getUrl().split("/").splice(-1)[0];
    return pageName;
 }

Javascript 文件:

function onSuccess(receviedPageName)
{
    if(receviedPageName== linkName)
    {
     // add class here. 
    }
}//onSuccess
google.script.run.withSuccessHandler(onSuccess).getPageName();

withSuccessHandler(function) 如果服务器端函数 returns 成功执行,或者 withFailureHandler(function) 如果服务器端函数未能完成分配的任务,则执行

试一试:)