检查是否仍然使用Javascript连接到主机

时间:2016-01-26 10:43:52

标签: javascript greasemonkey

在某些地方,有一项政策要求用户点击按钮Continue进入音乐流媒体网站。
我们假设我希望使用此网站的时间超过此政策所接受的时间。一段时间后音乐停止播放并刷新网页后 - 即使您没有离开页面,政策也会要求您再次点击Continue

我想创建一个脚本来检查连接是否仍然存在,但没有网站刷新(因为它播放音乐)。

我已经创建了一个脚本,点击Continue,但不知道如何(如果可能)检查连接,if connection is broken然后刷新网站并点击{ {1}}。

可以用GreaseMonkey完成吗?

  1. 我输入http://deezer.com/
  2. 脚本点击Continue给我
  3. 我听音乐
  4. 脚本正在检查连接
    • 如果连接正常,请转到3.
  5. 刷新网站
  6. 转到2.
  7. 点击脚本:

    Continue

    }

    如果没有政策,那么页面的返回是:
    if (document.title == 'Click continue') { var a = document.getElementById('continue-text'); a.children[1].click();
    如果政策继续,则返回:
    200 OK 318ms

1 个答案:

答案 0 :(得分:1)

您可以像这样检查连接:

function checkConnection() {
    var xmlhttp;

    if (window.XMLHttpRequest) {
        // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    } else {
        // code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == XMLHttpRequest.DONE ) {
           if(xmlhttp.status == 200){
               // this might need some customisation:
               var connected = document.getElementById("id_of_the_continue_button") ? true : false;
               if (!connected) {
                   reconnect();
               }
           }
           else {
               reconnect();
           }
        }
    }
    // here you'll need a relevant url:
    xmlhttp.open("GET", "http://deezer.com/", true);
    xmlhttp.send();
}