construct2 问题 整理

audio加载 方法 兼容性问题

表现:
在PC端支持 reload 音频事件,会触发 all audio reload
在IPHONE 微信浏览器上,不会触发此行为

C2与web通信

1.C2与导出的htm5
借助Browser模块,可以通过execute javascript调用 导出后html页面中 自定义的javascript函数
C2 主动调用导出后 html5中方法 (可行)

2.C2与同域接口
通过AJAX模块 (可行)

3.C2被其他框架调用
但是如果C2要提供给html中调用方法,由html页面来主动调用,就不能操作

比如:
C2导出html5后,嵌入到IOS APP的webview中,如果调用了APP的支付(异步操作)成功后,向C2游戏中添加金币操作
目前没有找到好的方法,后续希望通过浏览器作为媒介中转来通信

尝试:localstorage
但是localstorage在不同浏览器下,表现不太一样 如 (chrome与firefox)
google使用indexDB存储数据,firefox使用localstorage 所以无法统一

后续陆续尝试...
发现hash操作,浏览器表现相对统一,所以借助hash操作,来完成这个支付操作

具体实现流程:


APP与html5 hash通信

html5部分脚本

function setupWebViewJavascriptBridge(callback) {
    if (window.WebViewJavascriptBridge) {
        return callback(WebViewJavascriptBridge);
    }
    if (window.WVJBCallbacks) {
        return window.WVJBCallbacks.push(callback);
    }
    window.WVJBCallbacks = [callback];
    var WVJBIframe = document.createElement('iframe');
    WVJBIframe.style.display = 'none';
    WVJBIframe.src = 'https://__bridge_loaded__';
    document.documentElement.appendChild(WVJBIframe);
    setTimeout(function() {
        document.documentElement.removeChild(WVJBIframe)
    },
    0)
}

function buyGoods() {
    setupWebViewJavascriptBridge(function(bridge) {
        bridge.callHandler('ZJPurchase', {
            'data': 'gold'
        },
        function(res) {
            if (res != null) {
                window.location.hash = "#faildeel";
                return;
            }

            window.location.hash = "#deelit";
        })
    })
}

function callmoneyfn() {
    buyGoods();
}

function clearmyhash() {
    window.location.hash = "";
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 【转载】CSDN - 张林blog http://blog.csdn.net/XIAOZHUXMEN/articl...
    竿牍阅读 3,529评论 1 14
  • 接上 关于HTML/HTML5(一)http://www.jianshu.com/p/33fc7840c079 学...
    Amyyy_阅读 849评论 0 4
  • 前端开发面试题 面试题目: 根据你的等级和职位的变化,入门级到专家级,广度和深度都会有所增加。 题目类型: 理论知...
    怡宝丶阅读 2,630评论 0 7
  • 前端开发知识点 HTML&CSS对Web标准的理解、浏览器内核差异、兼容性、hack、CSS基本功:布局、盒子模型...
    Hebborn_hb阅读 859评论 0 1
  • 问答题1 /72浏览器页面有哪三层构成,分别是什么,作用是什么?参考答案构成:结构层、表示层、行为层分别是:HTM...
    _Yfling阅读 1,253评论 0 23