WebView 组件参考
WebView 是一种显示网页的组件,该组件让你可以在游戏里面集成一个小的浏览器。
属性检查器下面的添加组件按钮,然后从添加 UI 组件中选择WebView,即可添加 WebView 组件到节点上。
WebView API。
WebView 属性
WebView 事件
WebViewEvents 事件
WebView 事件回调参数
详细说明
那么在 PC 的模拟器里面预览的时候可能看不到效果。 此控件暂时不支持加载指定 HTML 文件或者执行 Javascript 脚本。
通过脚本代码添加回调
方法一
你需要首先构造一个 cc.Component.EventHandler 对象,然后设置好对应的 target, component, handler 和 customEventData 参数。
var webviewEventHandler = new cc.Component.EventHandler();webviewEventHandler.target = this.node; //这个 node 节点是你的事件处理代码组件所属的节点webviewEventHandler.component = "cc.MyComponent"webviewEventHandler.handler = "callback";webviewEventHandler.customEventData = "foobar";webview.webviewEvents.push(webviewEventHandler);//here is your component filecc.Class({ name: 'cc.MyComponent' extends: cc.Component, properties: { }, //注意参数的顺序和类型是固定的 callback: function(webview, eventType, customEventData) { //这里 webview 是一个 WebView 组件对象实例 // 这里的 eventType === cc.WebView.EventType enum 里面的值 //这里的 customEventData 参数就等于你之前设置的 "foobar" }});
方法二
webview.node.on('loaded', ...) 的方式来添加
//假设我们在一个组件的 onLoad 方法里面添加事件处理回调,在 callback 函数中进行事件处理:cc.Class({ extends: cc.Component, properties: { webview: cc.WebView }, onLoad: function () { this.webview.node.on('loaded', this.callback, this); }, callback: function (event) { //这里的 event 是一个 EventCustom 对象,你可以通过 event.detail 获取 WebView 组件 var webview = event.detail; //do whatever you want with webview //另外,注意这种方式注册的事件,也无法传递 customEventData }});
同样的,你也可以注册 ‘loading’, ‘error’ 事件,这些事件的回调函数的参数与 ‘loaded’ 的参数一致。
