【问题标题】:does facebook embedded video api still support removeListener()?facebook 嵌入式视频 api 是否仍然支持 removeListener()?
【发布时间】:2017-03-02 15:46:55
【问题描述】:

根据 facebook 文档 - https://developers.facebook.com/docs/plugins/embedded-video-player/api,我们订阅玩家事件

    var handleDesktopEvents = function (msg) {
        if (msg.type === 'video') {
            var player = msg.instance;
            var playHandler = player.subscribe('startedPlaying', function() {
                // Video started playing ...
                player.unmute();
                console.log('detected video playing');
                ga_virtual_pagehit(msg.id);
                console.log('sent event to GA');
                playHandler.removeListener('startedPlaying');
                // playHandler.release();
            });
            console.log('detected video ready');
            player.play();
            FB.Event.unsubscribe('xfbml.ready', handleDesktopEvents, handleDesktopEx);
        }
    };
    var  handleDesktopEx = function () {
        // Handle pause() and exceptions
        console.log('detected pause');
    };

    FB.Event.subscribe('xfbml.ready',  handleDesktopEvents, handleDesktopEx);

removeListener() 似乎在subscribe() 返回的令牌上不可用。使用调试器,我们看到令牌上有一个方法release() 可用。应该用那个吗?现在正式了吗?

我是不是做错了什么?

【问题讨论】:

  • 也有这个问题,正在寻找解决方案。

标签: javascript facebook facebook-graph-api facebook-javascript-sdk


【解决方案1】:

除非 FB 再次更改某些内容,否则可能仍然存在 release() 方法。它做了 removeListen() 应该做的事情。

【讨论】:

    猜你喜欢
    • 2010-11-19
    • 1970-01-01
    • 2011-12-24
    • 2015-08-11
    • 2012-05-21
    • 1970-01-01
    • 2017-11-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多