> 웹 프론트엔드 > JS 튜토리얼 > JS는 공용 네트워크 서버 기능 코드에 액세스할 수 있는지 감지합니다_javascript 기술

JS는 공용 네트워크 서버 기능 코드에 액세스할 수 있는지 감지합니다_javascript 기술

微波
풀어 주다: 2017-06-28 13:22:29
원래의
1228명이 탐색했습니다.

AC가 성공적으로 해제되었는지, 공용 네트워크 Alibaba Cloud 서버에 액세스할 수 있는지 확인하세요. 공용 네트워크 서버 접속 가능 여부를 감지하는 JS 함수 코드를 공유해드리겠습니다.

WiFi 인증 개발 과정은 다음과 같습니다.

참고 : AC가 성공적으로 해제되었는지, 공용 네트워크 서버에 액세스할 수 있는지 확인합니다. Alibaba Cloud Server

함수 호출:

1

2

3

4

5

6

7

8

checkNet().then(function(res) {

  if(res) {

    //连网成功   

  }

  } else {

    //连网失败       

  }

})

로그인 후 복사

함수 코드:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

(function() {

  //检测入口

  checkNet = function() {

    var def = $.Deferred();

    xiuNet(null).then(function(res) {

      netWork(null).then(function(res) {

        if(res) {

          def.resolve(true);

        } else {

          def.resolve(false);

        }

      })

    })

    return def.promise();

  }

  //嗅探网络,解决ios弹框接入网络问题

  var checkTime = 2; //嗅探次数

  xiuNet = function(def) {

    if(def == null) {def = $.Deferred();}

    var iframe = document.createElement("iframe");

    iframe.style.cssText = "display:none;width:0px;height:0px;";

    document.body.appendChild(iframe);

    var ua = navigator.userAgent;

    if(ua.indexOf("iPhone") != -1 || ua.indexOf("iPod") != -1 ||

      ua.indexOf("iPad") != -1) {

      iframe.src = "http://www.baidu.com" + "?timestap=" + new Date().getTime();

      console.info("嗅探网络----");

      if(checkTime > 1) {

        checkTime--;

        setTimeout(function() {

          xiuNet(def)

        }, 1000);

      } else {

        def.resolve(true);

      }

    } else {

      def.resolve(false);

    }

    return def.promise();

  }

  //检测网络,是否可以连接公网

  var cnetTime = 3; //检测网络次数

  netWork = function(def) {

    if(def == null) {def = $.Deferred();}

    $.ajax({

      type: "get",

      timeout: 2000,

      dataType: "jsonp",

      jsonp: "callback",

      url: 'https://jktv.tv/shphone/ver.txt',

      success: function(data) {},

      error: function(xhr) {

        $("#ddd").html("status:"+xhr.status)

        if(xhr.readyState == 4 && xhr.status == 200) {

          def.resolve(true);

        } else {

          if(cnetTime > 1) {

            cnetTime--;

            setTimeout(function() {

              netWork(def)

            }, 200);

          } else {

            def.resolve(false);

          }

        }

      }

    });

    return def.promise();

  }

})();

로그인 후 복사

위는 편집기에서 도입한 JS 테스트입니다. 공용 네트워크 서버에 접속할 수 있습니다. 모든 분들께 도움이 되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨주시면 시간 내에 답변해 드리겠습니다.

위 내용은 JS는 공용 네트워크 서버 기능 코드에 액세스할 수 있는지 감지합니다_javascript 기술의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿