Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.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
HTML多Javascript别名_Javascript_Html_Ip Camera - Fatal编程技术网

HTML多Javascript别名

HTML多Javascript别名,javascript,html,ip-camera,Javascript,Html,Ip Camera,我正在尝试将多个IP摄像头的图像导入到一个页面中。但是,摄影机为查看器提供的脚本在每个摄影机上都有相同的名称,因此我似乎无法在一个页面上同时显示两个查看器。是否可以导入带有某种AS别名的脚本,以便它知道要执行这两个脚本中的哪一个 在下面的伪代码中,我展示了我的确切意思(我编写了AS=“cam1”和cam1.~~) 安全摄像机 cam1.SNC.writeViewer({sz:'4',ptz:'1',fps:'15',iPS:'1'}) cam2.SNC.writeViewer({sz:'4',

我正在尝试将多个IP摄像头的图像导入到一个页面中。但是,摄影机为查看器提供的脚本在每个摄影机上都有相同的名称,因此我似乎无法在一个页面上同时显示两个查看器。是否可以导入带有某种AS别名的脚本,以便它知道要执行这两个脚本中的哪一个

在下面的伪代码中,我展示了我的确切意思(我编写了AS=“cam1”和cam1.~~)


安全摄像机
cam1.SNC.writeViewer({sz:'4',ptz:'1',fps:'15',iPS:'1'})
cam2.SNC.writeViewer({sz:'4',ptz:'1',fps:'15',iPS:'1'})

提前感谢

我将构建一个javascript文件,该文件将使用ajax调用脚本。然后一个接一个地加载它们。

我为在这里使用jQuery感到内疚,而且我选择了
$(窗口)。加载
超过
$(文档)。在('ready')
上进行此操作-而且它还未经测试

$(window).load(function() {
    /**
     *  Array of IPs to load
     *  Empty Cameras = {} object 
     *  for Internal name-spacing.
    **/
    var Ips = ["192.168.1.10:80", "192.168.1.20:80"], 
        Suffix = "/jsv/SncViewer.js",
        Cameras = {};

    /** 
     *  For each IP, get script from
     *  IP Array, Keep the saved variable/SNC
     *  within Camera.camX.
    **/
    for( var x = 0; x < Ips.length; x++ ) {
       $.getScript({
           url: "http://"+ Ips[x] + Suffix +"",
           success: function( data ) {
               //May be data.writeViewer..!
               Cameras['cam'+ x +''] = 
                  SNC.writeViewer({sz:'4',ptz:'1',fps:'15',iPS:'1'});
           } 
       });     
    }
});

//Expected Output.
Cameras = {
    cam1 : //SNC Obj,
    cam2 : //SNC Obj
}
$(窗口).load(函数(){
/**
*要加载的IP阵列
*空摄影机={}对象
*用于内部名称间距。
**/
变量Ips=[“192.168.1.10:80”,“192.168.1.20:80”],
后缀=“/jsv/SncViewer.js”,
摄像机={};
/** 
*对于每个IP,从中获取脚本
*IP阵列,保留保存的变量/SNC
*在Camera.camX内。
**/
对于(变量x=0;x
是否可以为每个摄像头脚本设置单独的html页面,并在主页中使用iframe加载这些html页面?@ngsiolei是的,我已经尝试过了,它确实有效。但Chrome似乎不喜欢这种方法,因为流从iframe中删除。将所有内容保存在一个文档中也会更好。是否允许更改
SncViewer.js
?您可以在JavaScript本身中为这些名称命名。@谢谢您的提示,我甚至没有想到这一点。可悲的是,我只能在设备上读取数据。@stevanov坦白说,我的答案是一个想法&未经测试!-如果它能工作,不是100%,如果不能,可能必须删除=)谢谢你的帮助,稍加修改,它现在就可以工作了。我在javascript/jQuerry方面没有任何经验,所以我花了比我应该花的时间稍长的时间。太棒了=]欢迎您提出任何其他要求!是不是你必须更改的
SNC.writeViewer
部分?Stevanov,你有你完成的代码的副本吗,我可以在某处查看?我有一个类似的问题,我的索尼相机,我与上述代码挣扎。谢谢你的帮助。
$(window).load(function() {
    /**
     *  Array of IPs to load
     *  Empty Cameras = {} object 
     *  for Internal name-spacing.
    **/
    var Ips = ["192.168.1.10:80", "192.168.1.20:80"], 
        Suffix = "/jsv/SncViewer.js",
        Cameras = {};

    /** 
     *  For each IP, get script from
     *  IP Array, Keep the saved variable/SNC
     *  within Camera.camX.
    **/
    for( var x = 0; x < Ips.length; x++ ) {
       $.getScript({
           url: "http://"+ Ips[x] + Suffix +"",
           success: function( data ) {
               //May be data.writeViewer..!
               Cameras['cam'+ x +''] = 
                  SNC.writeViewer({sz:'4',ptz:'1',fps:'15',iPS:'1'});
           } 
       });     
    }
});

//Expected Output.
Cameras = {
    cam1 : //SNC Obj,
    cam2 : //SNC Obj
}