我正在编写一组HTML页面,这些页面将在Google表格侧边栏上提供,并将连接到我们的内部数据库。每个页面都在一个Google Apps脚本项目中的自己的.html文件中设置。
我想将这些文件提取到一个项目中,并将其作为库引用,就像我可以使用其他.gs脚本文件一样。具体来说,我如何写下面的“MyLib.page”行?
图书馆计划:
Code.gs
function myFunc() { Logger.log("Hallo Werld!");}
page.html中
<h1>
Hello world!
</h1>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
google.script.run.myFunc();
});
</script>
电子表格脚本编辑器(包含的库标识符:MyLib)
Code.gs
function callLibFunc() {
MyLib.myFunc();
}
function loadSidebar() {
var html = HtmlService.createTemplateFromFile("MyLib.page").evaluate()
.setSandboxMode(HtmlService.SandboxMode.IFRAME);
SpreadsheetApp.getUi().showSidebar(html);
}
答案 0 :(得分:2)
让Lib打开补充工具栏:
图书馆项目:
Code.gs
import java.util.*;
class BST
{
Node root;
LinkedList<Node> q=new LinkedList<Node>();
TreeMap<Integer,Integer> level=new TreeMap<Integer,Integer>();
TreeMap<Integer,Node> parent=new TreeMap<Integer,Node>();
Node insert(Node x,int key)
{
if(x==null)
{
parent.put(key,null);
return new Node(key,null,null,null);
}
else if(x.key<key)
{
x.right=insert(x.right,key);
x.right.parent=x;
if(parent.get(key)==null)
parent.put(key,x);
return x;
}
else if(x.key>key)
{
x.left=insert(x.left,key);
x.left.parent=x;
if(parent.get(key)==null)
parent.put(key,x);
return x;
}
else { x.key=key; return x;}
}
public void BFS(Node r)
{
if(r==null)
return;
if(r.parent==null)
level.put(r.key,0);
else level.put(r.key,level.get(r.parent.key)+1);
q.add(r);
while(q.size()!=0)
{
Node n=q.poll();
BFS(n.left);
BFS(n.right);
}
}
public static void main(String []args)
{
BST tree1=new BST();
tree1.root=null;
tree1.root=tree1.insert(tree1.root,15);
tree1.root=tree1.insert(tree1.root,66);
tree1.root=tree1.insert(tree1.root,5);
tree1.root=tree1.insert(tree1.root,3);
tree1.root=tree1.insert(tree1.root,12);
tree1.root=tree1.insert(tree1.root,75);
tree1.root=tree1.insert(tree1.root,50);
System.out.println(tree1.isCousins(66,75));
}
public boolean isCousins(int a,int b)
{
BFS(root);
if(level.get(a)==level.get(b)&&parent.get(a)!=parent.get(b))
return true;
else return false;
}
}
class Node
{
Node left,right,parent;
int key;
int level;
Node(int k,Node l,Node r,Node p)
{
key=k;
left=l;
right=r;
parent=p;
}
}
电子表格脚本编辑器
Code.gs
function loadSidebar() {
var html = HtmlService.createTemplateFromFile("MyLib.page").evaluate()
.setSandboxMode(HtmlService.SandboxMode.IFRAME);
SpreadsheetApp.getUi().showSidebar(html);
}