一号优惠经验分享网
51福利网的各种薅羊毛福利经验笔记

让用户检测网址能否访问代码小白笔记

最近有部分网友反应网站不能访问,但部分访问又是正常的,想研究一下怎么让用户帮忙检测网址能否访问,网站检测,网址检测

捣鼓一上午状态码,最后发现是错的,应该是返回用户客户端访问情况而不是服务器间的访问。

51福利网

又是一通百度,申明我是小白所以部分没考虑到或者没想到的请忽略。

第一步:百度出使用 JS 检测网址能否正常加载

有时我们需要判断用户能否加载某些网页或服务,如 Google、Disqus 等。

而我们可以用 JavaScript 来实现这样的检测功能。

使用 JavaScript 创建一个图片,设置图片的链接为 检测网址 + favicon.ico

onerror 事件触发不能加载的事件,onload 事件触发可以加载的事件,并使用 setTimeout 设置超时时间。

代码:

// 新建一个图片
var img = new Image();
// 设置图片的链接
img.src = "https://google.com/favicon.ico";

// 设定超时事件,延迟 3000 毫秒
var timeout = setTimeout(function () {
    // 清除 onerror 和 onload 事件
    img.onerror = img.onload = null;
    console.log("time out.");
    // 执行无法加载的事件
    canNotLoad();
},3000);

// 设定错误事件
img.onerror = function () {
    // 先清除超时事件
    clearTimeout(timeout);
    console.log("load error.");
    // 执行无法加载的事件
    canNotLoad();
}

// 设定可以加载的事件
img.onload = function () {
    // 先清除超时事件
    clearTimeout(timeout);
    console.log("ok.");
    // 执行可以加载的事件
    canLoad();
}

function canNotLoad() {
    /* code here */
    console.log("无法加载");
}
function canLoad() {
    /* code here */
    console.log("可以加载");
}

虽然有代码,但是对js不是很懂,据说直接调用就可以,请大家自己研究。

第二步,修改为php代码,最终结果


<?php  
$yousite= $_GET['yousite']; // 从请求中获取ua地址
?> 

<!DOCTYPE html>  
<html>  
<head>  
  <title>Image Load Check Example</title>  
</head>  
<body>  
  <img id="myImage" src="<?php echo $yousite;  ?>  " alt="My Image">  
   <?php  
   $yououtput = '<div id="output"></div>'; 
  
   
 // 使用字符串函数和条件语句来处理内容  
if (strpos($output, 'canNotLoad') !== false) {  
    // 如果包含"无法加载",则返回0  
    $result = 'canNotLoad';  
} else {  
    // 如果不包含"无法加载",则返回其他值或执行其他逻辑  
    $result = 'canLoad';  
}  

   echo $result; 
   
   ?>
   
  <script>  
    // 获取图片元素  
    var img = document.getElementById('myImage');  
  
    // 设定超时事件,延迟 3000 毫秒  
    var timeout = setTimeout(function () {  
        // 清除 onerror 和 onload 事件  
        img.onerror = img.onload = null;  
        console.log("Time out.");  
        // 执行无法加载的事件  
        canNotLoad();  
    },1000);  
  
    // 设定错误事件  
    img.onerror = function () {  
        // 先清除超时事件  
        clearTimeout(timeout);  
        console.log("Load error.");  
        // 执行无法加载的事件  
        canNotLoad();  
    };  
  
    // 设定可以加载的事件  
    img.onload = function () {  
        // 先清除超时事件  
        clearTimeout(timeout);  
        console.log("OK.");  
        // 执行可以加载的事件  
        canLoad();  
    };  
  
    function canNotLoad() {  
        console.log("canNotLoad");  
        document.getElementById("output").innerHTML = "canNotLoad"; 
        // 在此处添加自定义代码,例如修改网页元素或显示加载错误的消息等。  
    }  
  
    function canLoad() {  
        console.log("canLoad"); 
         document.getElementById("output").innerHTML = "canLoad"; 
        // 在此处添加自定义代码,例如修改网页元素或显示加载成功的消息等。  
    }  
  </script>  
</body>  
</html>

期间遇到的小白问题:

js怎么传递参数给php

在JavaScript中,你不能直接将参数传递给PHP,因为JavaScript在客户端运行,而PHP在服务器端运行。但是,你可以通过以下几种方式间接地实现这个目标:

  1. 使用AJAX(异步JavaScript和XML):通过JavaScript的AJAX功能(如使用fetchXMLHttpRequestjQuery.ajax),你可以向服务器发送HTTP请求,并在请求中包含参数。然后,服务器上的PHP脚本可以接收这些参数并进行处理。
  2. 通过表单提交:如果是在网页中,你可以创建一个包含参数的表单,并使用JavaScript来提交表单。当用户提交表单时,浏览器将自动将表单数据发送到服务器。在服务器端,PHP脚本可以接收这些数据并进行处理。
  3. 通过URL参数:如果你希望将参数附加到URL中,可以使用JavaScript的window.location对象来修改URL。然后,当用户访问该URL时,服务器端的PHP脚本可以从URL中获取参数。

<div id=”output”></div> output的结果虽然被打印出来了,但是无法返回给php参数

在PHP中,将HTML元素的值返回给PHP参数通常涉及到将HTML元素与PHP代码结合使用,并使用适当的输入/输出机制来传递数据。下面是一个简单的示例,演示如何将HTML元素的值返回给PHP参数

<?php  
// 获取HTML元素的值  
$output = '<div id="output">无法加载</div>';  
  
// 使用字符串函数和条件语句来处理内容  
if (strpos($output, '无法加载') !== false) {  
    // 如果包含"无法加载",则返回0  
    $result = 0;  
} else {  
    // 如果不包含"无法加载",则返回其他值或执行其他逻辑  
    $result = '处理结果';  
}  
  
// 输出结果  
echo $result; // 输出 "处理结果" 或 0  
?>

一号优惠 · 51福利网薅羊毛福利具有时效性,如已失效,请留言
文章名称:《让用户检测网址能否访问代码小白笔记》-一号优惠 · 51福利网
免责申明:本站所有活动信息均来自网络,如有失效、违规、不实或侵权,请联系我们删除。谢谢

评论 抢沙发

一号优惠经验分享网最新最全薅羊毛,现金红包线报网

一号优惠经验分享网提供每日最新内部优惠,薅羊毛活动,现金红包领取,免费福利和网赚福利手机赚钱线报,打造中国最受欢迎的网赚信息发布平台!51福利网

51联盟线报群赚钱·合作·帮助

登录

找回密码

注册