You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何阻止脚本及含双脚本的HTML页面在移动设备上运行?

阻止脚本在移动设备上运行的解决方案

嘿,我来帮你搞定这个问题!你提到隐藏包含URL的div没用,这很正常——因为脚本还是在后台执行,所以得从阻止脚本本身运行入手,而不是只处理DOM元素。下面是几种可靠的方法,还有针对你给出的HTML页面的具体修改方案:

一、通用方法:判断设备后再执行脚本

核心思路是先检测当前设备是否为移动设备,只在非移动设备上执行脚本逻辑。

1. 通过视口宽度判断(推荐)

这种方法基于屏幕尺寸,直观且可靠,你可以根据需求调整移动设备的宽度阈值(比如768px是常见的平板/手机分界):

// 定义判断移动设备的函数
function isMobileDevice() {
    return window.innerWidth <= 768; // 可根据你的需求修改这个数值
}

// 仅在非移动设备上执行脚本
if (!isMobileDevice()) {
    // 这里放你的脚本逻辑,比如你的includeHTML函数
    function includeHTML() {
        var z, i, elmnt, file, xhttp;
        z = document.getElementsByTagName("*");
        for (i = 0; i < z.length; i++) {
            elmnt = z[i];
            // 你的原有逻辑,比如查找特定属性加载HTML内容
        }
    }
    // 调用函数(如果原代码里需要调用的话)
    includeHTML();
}

2. 结合User Agent检测(备选)

如果需要更精准识别设备类型,可以结合User Agent字符串,但注意这种方法可能会被某些浏览器或设备伪装:

function isMobileDevice() {
    return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
}

// 同样用if判断包裹脚本逻辑
if (!isMobileDevice()) {
    // 你的脚本代码
}

二、针对你的HTML页面的具体修改

你给出的页面里有一个includeHTML函数,直接把它包裹在判断逻辑里就能阻止它在移动设备上运行。修改后的完整代码如下:

<!DOCTYPE html>
<html>
<script>
// 先判断是否是移动设备
function isMobileDevice() {
    return window.innerWidth <= 768; // 可根据需求调整宽度阈值
}

if (!isMobileDevice()) {
    function includeHTML() {
        var z, i, elmnt, file, xhttp;
        /*loop through a collection of all HTML elements:*/
        z = document.getElementsByTagName("*");
        for (i = 0; i < z.length; i++) {
            elmnt = z[i];
            /*search for elements with a certain attribute...*/
        }
    }
    // 如果原代码需要调用这个函数,记得在这里加上
    includeHTML();
}
</script>
</html>

如果你的页面里还有第二个脚本,用同样的方式把它也包裹在if (!isMobileDevice())的代码块里就行,这样两个脚本都只会在非移动设备上运行。

内容的提问来源于stack exchange,提问作者Yogani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:02:57