首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >videoJS在视频前点击按钮加载不同的广告

videoJS在视频前点击按钮加载不同的广告
EN

Stack Overflow用户
提问于 2021-03-18 10:43:43
回答 1查看 245关注 0票数 0

我正在设置一个快速演示,在其中我需要显示两个广告,我加载所有依赖的视频to播放器,并点击链接。

代码语言:javascript
运行
复制
<!-- Load dependent stylesheets. -->
<link rel="stylesheet" href="//googleads.github.io/videojs-ima/node_modules/video.js/dist/video-js.min.css" />
<link rel="stylesheet" href="//googleads.github.io/videojs-ima/node_modules/videojs-contrib-ads/dist/videojs.ads.css" />
<link rel="stylesheet" href="//googleads.github.io/videojs-ima/dist/videojs.ima.css" />

<video id="content_video" class="video-js vjs-default-skin"
       controls preload="auto" width="780" height="440">
    <source src="https://storage.googleapis.com/gvabox/media/samples/android.mp4"
            type="video/mp4" />
</video>

<div onclick="Select(2)">ad 1</div>
<div onclick="Select(1)">ad 2</div>

<!-- Load dependent scripts -->
<script src="//googleads.github.io/videojs-ima/node_modules/video.js/dist/video.min.js"></script>
<script src="//imasdk.googleapis.com/js/sdkloader/ima3.js"></script>
<script src="//googleads.github.io/videojs-ima/node_modules/videojs-contrib-ads/dist/videojs.ads.min.js"></script>
<script src="//googleads.github.io/videojs-ima/dist/videojs.ima.js"></script>

对此,我使用以下JS

代码语言:javascript
运行
复制
var player = videojs('content_video');

function Select(number) {

    if (number == 1) {

        var options = {
            id: 'content_video',
            adTagUrl: 'ad1.xml'
        };

        player.ima(options);

        player.load();

    }

    if (number == 2) {

        var options = {
            id: 'content_video',
            adTagUrl: 'ad2.xml'
        };

        player.ima(options);

        player.load();

    }

}

现在,当页面加载时,它会播放默认的android视频,当我单击ad1,播放器重新加载和播放广告时,但是当我单击第二个广告(没有必要按这个顺序)时,我会得到一个错误。

代码语言:javascript
运行
复制
Uncaught TypeError:player.ima is not a function

我知道我只能加载player.ima一次,所以在这种情况下,我将如何更新选项并重新加载播放器,以便在广告之间切换。

EN

回答 1

Stack Overflow用户

发布于 2021-12-09 02:53:55

这是因为player.ima不能被多次调用。您第一次单击时正在工作,因为ima只被调用一次。第二次我已经存在了。

有关详细信息,请参阅下面的github链接。https://github.com/videojs/videojs-contrib-ads/issues/345

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

https://stackoverflow.com/questions/66689461

复制
相关文章

相似问题

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