Greasy Fork

Greasy Fork is available in English.

FT中文网自动加载全文

FT中文网自动跳转chineseft,自动加载全文,并修改所有FT中文网链接,增加全文参数

目前为 2021-11-18 提交的版本。查看 最新版本

// ==UserScript==
// @name         FT中文网自动加载全文
// @namespace    https://blog.xlab.app/
// @more         https://github.com/ttttmr/UserJS
// @version      0.8
// @description  FT中文网自动跳转chineseft,自动加载全文,并修改所有FT中文网链接,增加全文参数
// @author       tmr
// @match        http://*/*
// @match        https://*/*
// @grant        none
// ==/UserScript==

(function () {
  'use strict';
  // 自动跳转chineseft
  if (
    location.href.startsWith('http://www.ftchinese.com/story/') ||
    location.href.startsWith('https://www.ftchinese.com/story/')
  ) {
    location.host = 'www.chineseft.com';
  }
  function full(url) {
    // 已有全文参数
    if (url.includes('full=y')) {
      return url;
    }
    // 无参数
    if (!url.includes('?')) {
      return url + '?full=y';
    }
    // 有参数,但没有指定页参数
    if (!url.includes('page=')) {
      return url + '&full=y';
    }
    // 指定页为1,也要加载全文
    if (url.includes('page=1')) {
      let newurl = url;
      // 判断参数位置并删掉
      if (url.length - url.indexOf('page=1') == 6) {
        newurl = url.replace('page=1', '');
      } else {
        newurl = url.replace('page=1&', '');
      }
      newurl = newurl + '&full=y';
      return newurl;
    }
  }
  if (location.host == 'www.chineseft.com') {
    console.log('ft');
    if (document.querySelector('.pagination-container') != null) {
      console.log('文章有分页');
      let fullUrl = full(location.href);
      if (location.href != fullUrl) {
        console.log('加载全文');
        location.href = fullUrl;
      }
    }
  }
  // 替换页面ft链接
  function replace() {
    let aTagList = document.querySelectorAll('a');
    aTagList.forEach(function (ele) {
      if (
        ele.href.startsWith('http://www.ftchinese.com/story/') ||
        ele.href.startsWith('https://www.ftchinese.com/story/')
      ) {
        ele.href = ele.href.replace(/www.ftchinese.com/, 'www.chineseft.com');
        ele.href = full(ele.href);
      } else if (
        ele.href.startsWith('https://www.chineseft.com/story/') ||
        ele.href.startsWith('https://www.chineseft.com/story/')
      ) {
        console.log('发现ft链接,替换' + ele.href);
        ele.href = full(ele.href);
      }
    });
  }
  replace();
  setInterval(replace, 5000);
})();