首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用WeixinJSBridgeReady事件监听器和作为参数的微信/微信JavaScript桥(WeixinJSBridge)

使用WeixinJSBridgeReady事件监听器和作为参数的微信/微信JavaScript桥(WeixinJSBridge)
EN

Stack Overflow用户
提问于 2014-11-15 18:29:46
回答 1查看 2.2K关注 0票数 0

当有人使用微信分享我的某个游戏(用JavaScript制作)时,我正在使用WeixinJSBridge修改共享参数。

下面的代码位于一个大的JavaScript文件(超过2500行,大约100KB)的末尾,在任何函数或对象之外,它的工作方式就像一个咒语,当WeixinJSBridge准备好时,函数WECHAT_onBridgeReady会如预期的那样被调用(使用微信/微信中的游戏):

代码语言:javascript
复制
if (document.addEventListener)
{
    document.addEventListener('WeixinJSBridgeReady', function() { WECHAT_onBridgeReady(); }, false);
}

但是下面的代码没有( WECHAT_onBridgeReady从未被调用过):

代码语言:javascript
复制
if (document.addEventListener)
{
    document.addEventListener('WeixinJSBridgeReady', WECHAT_onBridgeReady, false);
}

我想知道为什么将函数作为参数传递(不起作用)和传递调用函数的封装函数(起作用)之间存在差异。

你可以在这里看到游戏(制作于2006年,代码一团糟,而且是西班牙语的,但我现在正在尝试修改它,以改进它,使其适应现代移动设备):http://yasminoku.tuxfamily.org/new/online/ ( JavaScript文件是http://yasminoku.tuxfamily.org/new/online/yasminoku.js格式的)

在我之前的另一个游戏中,这两种方法都有效,但JavaScript文件要小得多(大约8KB),并且设置事件侦听器的代码放在该文件的开头。这就是为什么我认为这个问题可能与JavaScript引擎需要完全加载和解析文件的时间有关,但我不确定。

有人知道原因吗?

提前谢谢你。

干杯,琼

EN

回答 1

Stack Overflow用户

发布于 2015-05-07 23:28:31

我认为您应该在脚本document.addEventListener(...)之前定义WECHAT_onBridgeReady方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26944862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档