小编Jam*_*ley的帖子

当前时间和 HTML5 视频中的跟踪

我正在尝试跟踪 HTML 视频中的视频播放进度。我需要跟踪 0、25、50、75 和 100%。我不确定我做错了什么,无法让 console.logs 工作。js小提琴

我得到错误

未捕获的类型错误:无法读取 null 的属性“on”

请提供任何帮助/建议

var myPlayer = document.querySelector('video');
var percentageCompleted = 0;
var totalLength = 0;
var videoStarted, videoTwentyFive, videoFifty, videoSeventyFive, videoComplete = false;

myPlayer.on('timeupdate', getPercentage);

function getPercentage() {

    percentageCompleted = (myPlayer.currentTime() / totalLength) * 100;
    //console.log('percentage', (percentageCompleted+'%'));

    // is 0
    if ((!videoStarted) && (percentageCompleted > 0)) {
        console.log('VIDEO_STARTED');
        videoStarted = true;

        window.dataLayer = window.dataLayer || [];
        window.dataLayer.push({
            'event': 'playStart'
        });
    }
    // is 25
    if ((!videoTwentyFive) && (percentageCompleted > …
Run Code Online (Sandbox Code Playgroud)

html javascript video

6
推荐指数
1
解决办法
2243
查看次数

使用 Dagger 2 自动注入活动的问题

我对 Daggers 依赖注入还很陌生。我正在使用 Dagger 2 和 Kotlin 开发一个新应用程序。我从一个用于构建的基本入门应用程序开始。在 App.kt 中,每个活动都会自动注入,到目前为止这非常酷。然而,我现在在实施 Facebook 和 Google 社交登录时遇到了问题。

当应用程序尝试启动 Facebook 或 Google 登录活动时,我收到错误消息:

"No injector factory bound for Class<external.activities.classNameHere>"

我无法 @Provides 这些外部类,因为它们没有实现 @Module 注释。

我的临时解决方案是在自动注入之前检查正在注入的活动,并跳过那些外部类。虽然这看起来有点奇怪,我想知道是否有更好的解决方案或者我是否遗漏了一些东西。我可以看到这个 if 语句随着时间的推移变得相当长。

 registerActivityLifecycleCallbacks(object : ActivityLifecycleCallbacks() {
        override fun onActivityCreated(p0: Activity?, p1: Bundle?) {
            p0?.let {
                if (p0 is FacebookActivity || p0 is CustomTabMainActivity || p0 is CustomTabActivity ) {
                    Log.d("KSULog", "App.kt is not injecting activity " + p0.toString())
                }
                else {
                    AndroidInjection.inject(p0)
                }

            }
        }
    })
}
Run Code Online (Sandbox Code Playgroud)

谢谢参观。

android dependency-injection kotlin dagger-2

5
推荐指数
1
解决办法
1916
查看次数