【问题标题】:Include different objects with same name from libraries with same name.包括来自同名库的同名不同对象。
【发布时间】:2013-09-13 13:09:30
【问题描述】:

我正在尝试使用来自多个网络摄像机的提要创建一个页面,但我引用的 JS 库以相同的名称存储在摄像机本身上。此外,视频流查看器对象的名称相同。

这是我目前的代码示例:

<script type='text/javascript' src='http://192.168.0.1:80/jsv/SncViewer.js'></script>
<script type="text/javascript">
new SNC.viewer('div1',{sz:'3',atc:'0',at:'1',ptz:'1',fps:'30',mt:'1',iPS:'1',frm:'0'});
</script>
<script type='text/javascript' src='http://192.168.0.2:80/jsv/SncViewer.js'></script>
<script>
new SNC.viewer('div2',{sz:'3',atc:'0',at:'1',ptz:'1',fps:'30',mt:'1',iPS:'1',frm:'0'});
</script>

它正确显示第一个对象,但不是第二个。

有没有办法创建来自不同网络库的该对象的单独实例?

【问题讨论】:

  • 所以它基本上是同一个库,但每个人都认为自己是一个全局单例实例?我担心如果上面的代码不起作用并且您不想重写/修复相机库,您只能在不同的 iframe 中显示两个提要。
  • 这两个 SncViewer.js 文件内容是否不同?
  • 是的,很遗憾我无法访问相机库,而且这些库已经在一个框架中。使用帧绘制一个 2x2 的视频流数组,然后每个帧使用 show/hide div 循环通过一组特定的摄像机。此代码在每一帧中。
  • Purnil:是的,显然每个 SncViewer.js 都在内部指定了视频流的来源。在对象的参数中,我只更改自动播放、大小、fps 等,而不是指定数据源。
  • 您可以通过将 URL 粘贴到浏览器的地址栏中轻松下载脚本。然后它将显示脚本或将其保存在磁盘上。

标签: javascript html conflicting-libraries


【解决方案1】:

第一步可能是从两个摄像头下载 JavaScript 并检查它。他们可能在其中硬编码了一些数据,但也许您可以创建自己的版本,允许在运行时配置 SNC 查看器对象。

如果失败或工作量太大,请将每个摄像头放入新的iframe,因为帧会将脚本彼此隔离。

【讨论】:

    猜你喜欢
    • 2022-01-20
    • 2017-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-17
    • 2013-02-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多