zoukankan      html  css  js  c++  java
  • Jquery封装: WebSocket插件

     1   $(function() {
     2     var websocket = null;
     3    //浏览器是否支持websocket
     4     if ("WebSocket" in window) {
     5         try {
     6             websocket = new WebSocket($("#socketUrl").val());
     7             websocket.onopen = function(data) {
     8                 // console.log("connect success ");
     9             };
    10 
    11             websocket.onmessage = function(data) {
    12                 if (!isJsonFormat(data.data)) {
    13                     // console.log("onmessage : " + data.data);
    14                 } else {
    15                     var dataJson = JSON.parse(data.data).files;
    16                     if (null != dataJson) {
    17                         var imgId = $('.waite-for-ws').attr('imgId');
    18                         for ( var key in dataJson) {
    19                             var path = dataJson[key].filePath;
    20                             
    21                             $('#' + imgId).attr('src', ctx + "/wsla/download?filePath=" + path);
    22                             $('#' + imgId).attr('path', path);
    23                             $('#' + imgId).show();
    24                             
    25                             $('.waite-for-ws').parent().siblings('input[type=hidden]').val(path);
    26                             
    27                         }
    28 
    29                         var index = imgId.lastIndexOf("-");
    30                         var selector = '#' + imgId.substring(0, index) + '-tips';
    31                         $(selector).hide();
    32                         $(selector).css('display', 'none');
    33                         
    34                         $('.waite-for-ws').removeClass('waite-for-ws');
    35                         // $('#uploadSuccessDiv').show();
    36                         $("#div-show").hide();
    37                         
    38                         if (imgId == 'id-01-img' || imgId == 'id-02-img') {
    39                             sfzjzpTip();
    40                         } else if (imgId == 'id-03-img') {
    41                             lszjpTip();
    42                         } else if (imgId == 'id-04-img') {
    43                             yyzzjpTip();
    44                         }
    45 
    46                     } else {
    47                         $("#div-show").show();
    48                     }
    49                 }
    50             };
    51 
    52             websocket.onerror = function(e) {
    53                 // console.log('connect error ');
    54             };
    55 
    56             websocket.onclose = function(data) {
    57             };
    58 
    59             window.onbeforeunload = function() {
    60                 websocket.close();
    61             }
    62 
    63         } catch (error) {
    64             // console.log('connect error ');
    65         }
    66 
    67     } else {
    68         // console.log("Websockets not supported");
    69     }
    70 
    71     $('.close').click(function() {
    72         if (websocket != null) {
    73             websocket.close();
    74         }
    75     });
    76 
    77 });
  • 相关阅读:
    STM32Cube IDE配置串口发送与接收
    STM32CubeIDE Debug Configurations
    STM32CubeMX FreeRTOS定时器的使用
    单片机处理串口逗号分隔符命令
    自定义任务状态来操作FreeRTOS任务的挂起,恢复,删除
    Halcon WPF C#采集图像区域灰度值
    STM32CubeMX FreeRTOS no definition for "osThreadGetState" 解决办法
    Hyper-V应用
    AutoFixture 数据对象生成器
    visual studio的XAML无法热更新
  • 原文地址:https://www.cnblogs.com/feixiablog/p/9626159.html
Copyright © 2011-2022 走看看