Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript js:如何在类中使用外部脚本中的函数?_Javascript_Ecmascript 6_Es6 Class - Fatal编程技术网

Javascript js:如何在类中使用外部脚本中的函数?

Javascript js:如何在类中使用外部脚本中的函数?,javascript,ecmascript-6,es6-class,Javascript,Ecmascript 6,Es6 Class,我有一个脚本,我在页面上附加了一个外部JS脚本,Amazon IVS视频播放器。然后,我从CustomPlayer类创建一个新的CustomPlayer实例 main.js import CustomPlayer from './CustomPlayer.js" var s = document.createElement("script"); s.type = "text/javascript"; s.src = "https:/

我有一个脚本,我在页面上附加了一个外部JS脚本,Amazon IVS视频播放器。然后,我从
CustomPlayer
类创建一个新的
CustomPlayer
实例

main.js

import CustomPlayer from './CustomPlayer.js" 

var s = document.createElement("script");
s.type = "text/javascript";
s.src = "https://player.live-video.net/1.3.1/amazon-ivs-videojs-tech.min.js";
$("body").append(s);

const customConfig = { autoPlay: true, controls: true };

const player = new CustomPlayer(customConfig)
import videojs from 'videojs';

class CustomPlayer {
    
   constructor() {
       this.player = {};
       this.customConfig = customConfig;
   }

   init() {
       this.player = videojs(this.customConfig);
       registerIVSTech(this.player);

       return this.player;
   }

   setBitrate() {
      // to be added
   }

}

export default CustomPlayer;
下面是我的
CustomPlayer
课程。它使用了一个名为
registerIVSTech()
的方法,自从我在我的
main.js
中添加了Amazon IVS player脚本以来,该方法就一直可用,并且是该脚本的一部分

CustomPlayer.js

import CustomPlayer from './CustomPlayer.js" 

var s = document.createElement("script");
s.type = "text/javascript";
s.src = "https://player.live-video.net/1.3.1/amazon-ivs-videojs-tech.min.js";
$("body").append(s);

const customConfig = { autoPlay: true, controls: true };

const player = new CustomPlayer(customConfig)
import videojs from 'videojs';

class CustomPlayer {
    
   constructor() {
       this.player = {};
       this.customConfig = customConfig;
   }

   init() {
       this.player = videojs(this.customConfig);
       registerIVSTech(this.player);

       return this.player;
   }

   setBitrate() {
      // to be added
   }

}

export default CustomPlayer;
我唯一的限制是我不能使用npm模块,但我觉得我现在使用它的方式假设
registerIVSTech
将在那里。有没有更好的方法来处理这个问题?我应该像这样将该方法从窗口传递到类中吗

const player = new CustomPlayer(customConfig, window.registerIVSTech)