gpt4 book ai didi

javascript - 了解此模式 : videojs ("videoPlayer", {}, function(){}

转载 作者:行者123 更新时间:2023-12-03 05:07:33 24 4
gpt4 key购买 nike

我是最近来自 Flex/Actionscript 星球的难民,仍在摸索基础知识,所以这可能是一个非常简单的问题。我对下面的行感到困惑:

videojs("videoPlayer", {}, function(){}

虽然我成功地使用了它(如下),但我并不完全理解它。它似乎指示全局 videojs 对象使用可选参数( {} )查找 id“videoPlayer”的实例,然后在该实例上调用匿名函数。

我说得对吗?引发我困惑的是可选参数( {} )。我可以使用它来传递 srcposter 并跳过该函数吗?这种模式有名字吗?它常见吗?

如果这是重复的,请随意对我大喊大叫......

<小时/>

上下文:我正在使用 Electron 构建一个桌面应用程序来托管 Timeline.js,我可以在其中访问和显示本地 .mp4 文件。 Timeline.js 使用 iFrame 作为“包含您想要的任何内容”选项,因此我有一个“video.html”文件作为 iFrame 的源。在时间线的 JSON 中,我使用查询字符串将参数传递到 Video.js

的 iFrame<小时/>
<script>
function getParamValue(paramName) {
var url = window.location.search.substring(1);
var qArray = url.split('&');
for (var i = 0; i < qArray.length; i++) {
var pArr = qArray[i].split('=');
if (pArr[0] == paramName)
return pArr[1];
}
}

// grap the video & poster frame refs from url
var videoSrc = getParamValue('videoSrc');
videoSrc = "assets/videos/" + videoSrc;

var poster = getParamValue('poster');
poster = "assets/images/" + poster;

videojs("videoPlayer", {}, function(){
this.src(videoSrc);
this.poster(poster);
this.load();
});

</script>
<小时/>

来 self 的 Timeline.js JSON 的片段

"media": {
"caption": "caption",
"credit": "",
"url": "<iframe allowfullscreen
webkitallowfullscreen
src='video.html?videoSrc=Z.mp4&poster=W.jpg'
width='320' height='240'></iframe>",
},

最佳答案

这一切都取决于 videojs 的实现。

second {} parameter是一个“空对象”,但可以让您根据需要传递额外的参数。

third parameter (其中有匿名函数)是在 videojs 加载并初始化后运行的函数。

这一切都在视频 js 文档中进行了解释,但由于您是 javascript 新手,我会原谅您,因为“空对象 {}”对您来说可能是新概念,因为 javascript 文件可能是这样的事实异步加载需要时间,当然它们的代码也需要时间来初始化,因此在优秀的第三方库中,通过传入函数来实现“初始化时运行此代码”行为是很常见的。

所以,是的,这是用于初始化第 3 方 javascript 库的相当常见的实现“模式”,但我不认为它有特定的名称。

关于javascript - 了解此模式 : videojs ("videoPlayer", {}, function(){},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41965209/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com