2017-04-21 84 views
0

我的情況(很簡單)如下:多個ipcam請求可以阻止瀏覽器?

  • 在單頁我有ň IPCAM對象。每個ipcam對象都有自己的div,每次接收到前一個圖像時ipcam的圖像都會更新。
  • 一個javascript函數調用一個php文件(傳遞ipcam的id作爲參數),它返回帶有套接字請求的圖像(在選擇了該特定id [ip,port,authentication,username,password etc等]的設置後) )。

Javascript代碼(簡化的)

//called by a timer 
function refresh_ipcam(id){ 

    if(parseInt($("#"+id).attr('refresh_finished')) == 1){ 

     $("#"+id).attr('refresh_finished',0); 

     var img = new Image(....); 
     var x = new Date().getTime(); 
     img.src = "get_image.php?id="+id+"&random="+x; 

     img.onload = function(){ 
      $("#"+id).html(img); 
      $("#"+id).attr('refresh_finished',1); 
     } 
     img.onerror = function(e){ 
      setTimeout(function(e){ 
       $("#"+id).attr('refresh_finished',1); 
      },2000) 
     } 
    } 
} 

通過添加隨機參數,瀏覽器總是檢測新的圖像。通過這種方式,我解決了一個問題(圖像未正確更新緩存問題)。但是,考慮到提出的請求數量很高,我認爲這種方式存在另一種問題。

某些用戶報告了瀏覽器的塊(過了一段時間)。這可能是一個與全緩存相關的問題嗎?

從谷歌鉻控制檯,在應用程序>框架>圖像部分,我注意到每個請求(get_image.php)匹配此列表中的新元素。

enter image description here

回答

0

它看起來像基於圖像源處理解決方案不能很好地工作。他們使用大量的內存,甚至可能導致瀏覽器崩潰。可能你需要考慮live streaming web video

欲瞭解更多信息檢查: