从https://github.com/liftoff/GateOne下载的GateOne源代码中,在gateone/tests/hello_embedded中有关于如何将GateOne嵌入我们应用的指导说明。
1.基本嵌入方式
首先先使用一个p来存放我们的Gateone,如下所示,
<pid="gateone_container"style="position:relative;width:60em;height:30em;"><pid="gateone"></p></p>
然后我们将GateOne源码中的gateone.js拷贝到我们web应用中,然后在我们的html中引入进来。或者直接使用使用GateOne服务上的gateone.js,如下所示,
<scriptsrc="https://127.0.0.1/static/gateone.js"></script>
***调用GateOne.init()将我们GateOne嵌入我们的Web应用。
一个简单的示例代码和效果图如下所示,
<!DOCTYPEhtml><htmllang="en"><head><metahttp-equiv="content-type"content="text/html;charset=UTF-8"/><title>BasicEmbeddingGateOne</title><scriptsrc="../static/gateone.js"></script><script>window.onload=function(){//InitializeGateOne:GateOne.init({url:'https://127.0.0.1'});}</script></head><body><p>Hellolienhua34</p><!--DecidewhereyouwanttoputGateOne--><pid="gateone_container"style="position:relative;width:60em;height:30em;"><pid="gateone"></p></p></body></html>
2.进阶嵌入方式
调用GateOne.init()方法不只可以传递GateOne服务的URL,我们可以传递其他的参数来自定义嵌入的GateOne服务内容。例如,theme用于设置GateOne的主题,style用于自定义GateOne的样式。我们在上面的基本应用代码中修改GateOne.init()方法的调用参数如下,
GateOne.init({url:'https://127.0.0.1',embedded:true,//Let'sapplysomecustomstyleswhilewe'reatit...style:{'background-color':'yellowgreen','box-shadow':'0040pxblueViolet'}});
然后访问我们的应用得到如下效果,
我们看到嵌入的GateOne背景色变成了绿色,说明我们传递的style样式生效了。但是,等等。。。
我们发现一个很大的问题,嵌入的GateOne没有了之前打开Terminal的按钮,于是我们根本无法使用GateOne的网页Terminal功能了。这个是embedded参数的作用!当将embedded参数设置成true,表示只将GateOne初始化到页面中而不让GateOne做任何事情。于是,我们需要通过代码显示得让GateOne做事情,例如我们通过一个按钮来让GateOne打开一个Terminal,代码如下所示,
<formid="add_terminal"><inputtype="submit"value="AddaTerminal"style="margin-left:.sem;"></input></form><script>document.queryselector('#add_terminal').onsubmit=function(e){//Don'tactuallysubmittheforme.preventDefault();varexistingContainer=GateOne.Utils.getNode('#'+GateOne.prefs.prefix+'container');varcontainer=GateOne.Utils.createElement('p',{'id':'container','class':'terminal','style':{'height':'100%','width':'100%'}});vargateone=GateOne.Utils.getNode('#gateone');if(!existingContainer){gateone.appendChild(container);}else{container=existingContainer;}//CreatethenewterminaltermNum=GateOne.Terminal.newTerminal(null,null,container);}</script>
此时我们便可以通过点击”Addaterminal“按钮来新建一个Terminal,效果如下图所示,
3GateOne.init()回调自动创建Terminal
GateOne.init()方法可以提供一个回调函数,该回调函数会在GateOne初始化完成之后自动调用。于是,我们可以在该回调函数中自动创建一个Terminal。其JavaScript代码如下,
callbackInit.js
在创建新Terminal的方法newTerminal中使用到了GateOne.Base.superSandbox()。该方法用于包装任何代码,而该代码会一直等待到其所有依赖被加载完毕才会执行。上面代码创建新Terminal的实际代码会等待GateOne.Terminal和GateOne.Terminal.Input加载完毕才会执行。
以上就是如何将Gate One嵌入我们的Web应用中,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注本站行业资讯频道。
本文由 贵州做网站公司 整理发布,部分图文来源于网络,如有侵权,请联系我们删除,谢谢!
小程序如今是互联网的热门话题,对于用户来说小程序很好的解决了网站、公众号和APP无法解决的问题,无需下载即用即走。那么小程序对企业有何作用?定制开发小程序费用大...
小程序开发的出现解决了人们对于APP存在的部分不良体验,再加上小程序背靠微信这座“大山”,不管是流量还是用户上面都占据着先天的优势。微信小程序开发还具备不用...
运营微信可能大多数人都觉得很简单,因为每个人都有自己的社交圈,利用这些社交圈去进行产品的推广应该很容易,但是一些尝试过用户就知道,仅仅是利用社交圈根本不行,...
数字鸿沟是什么意思?数字鸿沟(digital gap),是指在全球数字化进程中,不同国家、地区、行业、企业、社区之间,由于对信息、网络技术的拥有程度、应用程度以及创新能力的差别而造成的信息落差及贫富进一步两极分化的趋势。数字鸿沟是经济和社会发展矛盾在数字时代的集中反映,弥合数字鸿沟不仅是为了帮助弱势群体跟上时代步伐,更是落实一系列国家发展战略的客观需要和迫切要求。如何解决老年人数字鸿沟问题?老年人...
现在的小说都是书友推荐的。经过简单的整理,这一期禁忌爱情小说出版。又是一段令人心碎的感情路。准备好纸巾哭吧~ ~ ~1.《云虞之欢》作者:芥末绿标签:兄弟姐妹/无关/浪漫她是他从小疼爱的妹妹,她只是一个妹妹。然而,她对他有不同的感觉。周围都是别的女人,她终于控制不住地爱上了他。他厌倦了这种感觉,但当她有了自己的男朋友,他又莫名其妙地心碎。明知道不能爱,却还无缘无故的爱。即使世界对它另眼相看,他们也...
(资料图片仅供参考)在生活中,很多人都不知道上海有哪些服装批发市场是什么意思,其实他的意思是非常简单的,下面就是小编搜索到的上海有哪些服装批发市场相关的一些知识,我们一起来学习下吧!1、七浦路服装批发市场,地址:闸北七浦路303号。2、上海凯旋城服饰批发市场,地址:静安区七浦路224至226号。3、上海提篮桥服装批发市场经营管理有限公司,地址:上海市虹口区霍山路82号。4、上海新七浦服装市场,地址...