Kaicneg 发表于 2025-2-17 16:03:39

【油猴脚本】手机自动变更网页版

本帖最后由 Kaicneg 于 2025-2-18 07:30 编辑

大家都知道现在用手机登入页面会变成空白,虽然用Chrome可以勾选桌面版网站,但我因为要用Tampermonkey而转用了Firefox,可惜手机版Firefox就算转网页版隔一阵子就自动跳回来,每次手动真的很麻烦。

所以用ai写了这个代码,暂时用了没甚麽问题(  ̄▽ ̄)σ
这个是只针对Gamemale,所以其他网页应该不受影响

更新一下发现有bug,所以直接强硬每个网址加上mobile=no
static/image/hrline/4.gif
// ==UserScript==
// @Name         自动切换桌面版
// @namespace    http://tampermonkey.net/
// @version      1.2
// @description智能处理所有页面强制桌面版
// @author       Kaicneg
// @match      https://www.gamemale.com/*
// @grant      none
// ==/UserScript==

(function() {
    'use strict';

    // 设备检测白名单
    const isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|Windows Phone/i.test(navigator.userAgent);
    if (!isMobile) return;

    // 智能URL处理
    const enforceDesktop = () => {
      const url = new URL(window.location.href);
      let modified = false;

      // 处理没有查询参数的URL(如 /thread-xxx-1-1.html)
      if (!url.search) {
            url.search = '?mobile=no';
            modified = true;
      }
      // 处理已有参数但没有mobile的情况
      else if (!url.searchParams.has('mobile')) {
            url.searchParams.append('mobile', 'no');
            modified = true;
      }
      // 替换现有移动端参数
      else if (url.searchParams.get('mobile') !== 'no') {
            url.searchParams.set('mobile', 'no');
            modified = true;
      }

      // 避免锚点丢失
      if (modified) {
            const newUrl = url.toString().replace(/#.*$/, '') + (url.hash || '');
            if (newUrl !== window.location.href) {
                window.location.replace(newUrl);
                return true;
            }
      }
      return false;
    };

    // 初始执行
    if (!enforceDesktop()) {
      // 监听动态加载(适用于SPA)
      new MutationObserver((mutations) => {
            if (!window.location.href.includes('mobile=no')) {
                enforceDesktop();
            }
      }).observe(document.body, {
            childList: true,
            subtree: true
      });
    }

    // 额外清除移动端cookie
    document.cookie = "mobile=no; path=/; domain=.gamemale.com; max-age=" + 60*60*24*30;
    document.cookie = "mobiletype=0; path=/; domain=.gamemale.com; max-age=" + 60*60*24*30;
})();

static/image/hrline/4.gif
感觉不错可以追随一下(๑•̀ᄇ•́)و



tuxonstar 发表于 2025-2-17 16:13:19

AI来写这种小工具确实非常方便呢!

真的不会取名字 发表于 2025-2-17 16:30:08

本可用的是via浏览器自动保留电脑版这个选项呢,不过还是谢谢楼主分享了

凯诺斯 发表于 2025-2-17 16:42:14

很有用的脚本,能够跳过变成空白那个步骤直接访问网页版很有帮助{:6_169:}

KamiuBlued 发表于 2025-2-17 17:01:22

我用的是x浏览器也可以装脚本 切换之后它会一直保持电脑版 还是挺方便的

娱乐法师火布偶 发表于 2025-2-17 17:02:36

个人直接使用via浏览器了,可以强制设定为电脑模式,也可以使用一部分脚本

找乐子企鹅仔 发表于 2025-2-17 17:04:11

果然不是咱手机的原因,我就知道,感谢楼主的代码咯,不过咱的自带浏览器换电脑版挺方便的

2337891498 发表于 2025-2-17 17:18:27

这段时间一直都是把网址存在剪切板第一位{:4_100:}手机站街真的很头疼

SweetUncle 发表于 2025-2-17 17:23:22

这个jb挺有用的,不过我的浏览器只要设置一下就能永久网页版了耶{:6_167:}

虚空 发表于 2025-2-17 17:26:32

edge浏览器也很好用,好像还会记住你的网址进行设置,不用自己在不同网址中反复切换手机版和桌面版

万俟 发表于 2025-2-17 17:31:42

我还没在手机用过脚本呢,感觉可以试一下

wdhgzdhcxb 发表于 2025-2-17 17:50:56

我用的是X,也可以强制PC版,不过刷别的网页的时候还是习惯用手机版,就没改UA。
直接用“mobile=no”那个网址确实一段时间就会跳回去,得时不时刷一刷才行。
这个我去试一下,不过它跳回手机版的时候我看URL里也没有“mobile=2”啊,困惑

aboab 发表于 2025-2-17 17:55:26

我用的chrome,可以一直保持桌面版网页

PURO_ 发表于 2025-2-17 18:01:11

一直用的via浏览器,可以直接电脑模式,其他的一些浏览器也可以吧
之前不是有位大佬还发了个方法么https://www.gamemale.com/forum.php?mobile=no这个也可以避免手机版白屏的问题来着

毛茸茸兽兽 发表于 2025-2-17 18:03:53

via加一,还可以针对单个网站单个设置的,倒是方便不少咧~

Tyel 发表于 2025-2-17 18:16:41

油猴插件真的好用,直接让百度网盘不限速

beefheart 发表于 2025-2-17 18:26:50

神,我就说我手机版为啥一直白屏,终于有解决办法了

Wanda 发表于 2025-2-17 19:10:06

确实好用,不过本可很少用手机站街惹,存一下以备不时之需

蓝灯 发表于 2025-2-17 19:21:01

{:4_89:}谢谢大佬专门写的脚本 泥潭大佬真好 造福小白

逆一 发表于 2025-2-17 19:40:26

好厉害,手机总是要手该电脑版,真的很烦
页: [1] 2 3
查看完整版本: 【油猴脚本】手机自动变更网页版