手机无广逛知乎(UA标识 + JS脚本)

瞎扯

各位冲浪人在互联网上留下多少痕迹了呀?

反正我是留了不少。

但是根据国内互联网的现状,谁没有个对清净环境的需求呢?

今天就带来一个技巧,Target:知乎!

正文

逛过知乎的都知道,知乎有几个版本:手机(安卓等系统)应用、PC Web、Mobile Web,其中算干净的就是手机软件和 PC Web 了,但是手机软件还是一堆开屏广告和活动弹窗。

最严重的就是移动端的网页版,一堆『下载 APP』提示,不小心就会点到,要查看更多内容和评论、回答也要打开其软件,甚至有时还趁你不注意下载下来。

我们对国内这种互联网现状悲哀,但是总有大神通过各种手段为我们的清净做保障。接下来由我为大家带来关于知乎移动端网页净化方式,思路简单可套用在别的网站上。

必备清单

软件

Android:Via 浏览器(其它支持自定义 js 脚本和 UA 的浏览器也可)

iOS:Alook 浏览器(等,功能也要和上面安卓的一致)。

设备

安卓至少版本 5 以上……

UA 法

UA,User-Agent,用户浏览器标识,服务端可通过客户端的浏览器标识得知用户浏览器类型,故可修改为一个让其识别为原应用或其它特殊浏览器的 UA。

首先记住下面这段 UA 标识(此 UA 可实现看完整贴吧、知乎):

UCWEB/2.0 (MIDP-2.0; U; Adr 9.0.0) UCBrowser U2/1.0.0 Gecko/63.0 Firefox/63.0 iPhone/7.1 SearchCraft/2.8.2 baiduboxapp/3.2.5.10 BingWeb/9.1 ALiSearchApp/2.4

打开手机上的 Via ,随便打开一个知乎链接,可以看到浮窗和文末广告等一堆,还有下载APP 显眼按钮。

我们点击右下角 -> 设置 -> 通用 -> 浏览器标识,然后点击页面右上角的+,标题写『知乎专用』,把上面的 UA 标识代码复制至此:

保存,返回后选择知乎专用的 UA,现在刷新那个知乎链接:我只能感叹:啊!我的视界变干净了!

补充:

本过程参考知乎文章:https://zhuanlan.zhihu.com/p/61239760

编辑时疾客用模拟器试了一下,发现一开始可用,结果后面就不可用了,直接打开 PC 端页面。猜测可能知乎增加了对此 UA 的处理,所以此方法建议备用。

脚本/插件法

使用 Alook 或 Via 的可以直接打开一个叫 Via 轻插件 的网站,在里面找到『知乎直接看』插件然后安装,下面方法为直接复制 js 代码创建脚本。

保持手机默认 UA (安卓即安卓,可能分平板或手机;iOS 按情况选择 iPhone/iPad)不变,打开浏览器的脚本页,Via 浏览器为设置 -> 脚本,点击右上角加号,按下面方法添加一个脚本:

由于代码中自带域名判断,所以站点部分直接一个星号 * 即可,当然也可以写上 zhihu.com

Javascript 代码

将下面代码复制到代码框里,按保存即可:

来自 Via 轻插件网

/*
 * @name: 知乎直接看
 * @Author: 谷花泰
 * @version: 3.0
 * @description: 不用打开知乎app,直接看文章
 * @include: *
 * @createTime: 2019-10-07 18:09:47
 * @updateTime: 2019-11-13 01:58:06
 */
(function () {
  /* 判断是否该执行 */
  const whiteList = ['zhihu.com'];
  const hostname = window.location.hostname;
  const key = encodeURIComponent('谷花泰:知乎直接看:执行判断');

  const result = whiteList.some(site => {
    if (hostname.match(site)) {
      return true;
    }
    return false;
  });

  if (!result || window[key]) {
    return;
  };

  window[key] = true;

  /* 代码正文 */
  Object.defineProperties(window.navigator, {
    'userAgent': {
      enumerable: true,
      value: 'Mozilla/5.0 (Windows Phone 10)'
    },
    'appVersion': {
      enumerable: true,
      value: '5.0 (Windows Phone 10)'
    },
    'platform': {
      enumerable: true,
      value: 'Win32'
    }
  });
  class FixView {
    constructor() {
      this.init();
    };
    init() {
      this.removeDownApp();
      const search = document.querySelector('.MobileAppHeader-searchBox');
      !search && this.addSearch();
    };
    addSearch() {
      const menu = document.querySelector('.MobileAppHeader-actions');
      const searchBox = document.createElement('div');
      const search = document.createElement('div');
      searchBox.setAttribute('style', `
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
      `);
      searchBox.className = 'via-zhihu-search';
      search.setAttribute('style', `
        width: 80%;
        height: 32px;
        border-radius: 20px;
        border: 1px solid #ebebeb;
        background-color: rgba(235, 235, 235, 0.7);
        display: flex;
        align-items: center;
        padding-left: 10px;
      `);
      search.addEventListener('click', () => {
        location.href = 'https://www.zhihu.com/search?type=content&q=';
      }, true);
      search.innerHTML = this.getSearchSvg();
      searchBox.appendChild(search);
      menu.parentNode.insertBefore(searchBox, menu);
    };
    getSearchSvg() {
      return `<svg class="Zi Zi--Search" fill="#999" viewBox="0 0 24 24" width="18" height="18"><path d="M17.068 15.58a8.377 8.377 0 0 0 1.774-5.159 8.421 8.421 0 1 0-8.42 8.421 8.38 8.38 0 0 0 5.158-1.774l3.879 3.88c.957.573 2.131-.464 1.488-1.49l-3.879-3.878zm-6.647 1.157a6.323 6.323 0 0 1-6.316-6.316 6.323 6.323 0 0 1 6.316-6.316 6.323 6.323 0 0 1 6.316 6.316 6.323 6.323 0 0 1-6.316 6.316z" fill-rule="evenodd"></path></svg>`;
    };
    removeDownApp() {
      const style = document.querySelector('style');
      style.innerHTML += `
        .MobileAppHeader-downloadLink {
          display: none !important;
        }
      `;
    };
  };
  function observe({ targetNode, config = {}, callback = () => { } }) {
    if (!targetNode) {
      return;
    };

    config = Object.assign({
      attributes: true,
      childList: true,
      subtree: true
    }, config);

    const observer = new MutationObserver(callback);
    observer.observe(targetNode, config);
  };
  try {
    console.log('嘿嘿嘿');
    observe({
      targetNode: document.documentElement,
      config: {
        attributes: false
      },
      callback(mutations, observer) {
        const mysearch = document.querySelector('.via-zhihu-search');
        const menu = document.querySelector('.MobileAppHeader-actions');
        const zhihuSearch = document.querySelector('.MobileAppHeader-searchBox');
        if (!mysearch && menu && !zhihuSearch) {
          new FixView();
        };
      }
    });
  } catch (err) {
    console.log('知乎直接看:', err)
  };
})();

效果

好的,我的视界又干净了!

End

今天说的这些就是作为冲浪人必备的技能,这些东西可以减少眼睛疲劳,提高效率(信息的提取)和节约时间。同样的方法,只要你有技术或者能够找到相关解决办法,净化简书、CSDN 等平台也不是事。

版权声明
作者:灰尘疾客
链接:https://www.gkcoll.xyz/384.html
来源:极客藏源
注意:若文章头部无特殊声明,则文章为作者原创,版权归作者所有,未经允许请勿转载(默认允许)。
转载须知:若无特殊说明,本站所有文章均遵循 CC BY-NC-SA 4.0 协议发布,转载、二次创作请遵守该协议内容,并参考以下文案添加转载声明:本文转载自网站 极客藏源 的用户 @灰尘疾客 的文章 《手机无广逛知乎(UA标识 + JS脚本)》。本转载文发布遵循与原文相同的 CC BY-NC-SA 4.0 协议
THE END
分享
二维码
海报
手机无广逛知乎(UA标识 + JS脚本)
瞎扯 各位冲浪人在互联网上留下多少痕迹了呀? 反正我是留了不少。 但是根据国内互联网的现状,谁没有个对清净环境的需求呢? 今天就带来一个技巧,Target:知……
<<上一篇
下一篇>>