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

Check if still connected to host with Javascript

本文关键字:Javascript 连接 主机 是否 检查      更新时间:2023-09-26

在某些地方有一个策略,需要用户单击按钮Continue才能进入例如音乐流媒体网站。
假设我想使用本网站的时间超过本政策接受的时间。一段时间后,音乐停止播放,刷新网页后 - 即使您没有离开页面,政策也会要求您再次单击Continue

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

我已经创建了可以单击Continue的脚本,但不知道如何(如果可能)检查连接,if connection is broken然后刷新网站并单击Continue

可以用GreaseMonkey完成吗?

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

单击脚本:

if (document.title == 'Click continue')
{
  var a = document.getElementById('continue-text');
  a.children[1].click();

}

如果没有策略,则返回页面为:

200 OK 318ms如果策略继续,则返回:
200 Forbidden 91ms

您可以像这样检查连接:

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();
}