Flash Collector Script

Flash Collector 用户脚本,用于解除 4399.com 的源站播放 Referer 限制、增加源站播放标题

目前为 2022-05-16 提交的版本。查看 最新版本

  1. // ==UserScript==
  2. // @name Flash Collector Script
  3. // @namespace Flash Collector Scripts
  4. // @match *://*.4399.com/*
  5. // @match *://*.7k7k.com/*
  6. // @grant none
  7. // @license MPL-2.0
  8. // @version 1.1
  9. // @author Cnotech
  10. // @description Flash Collector 用户脚本,用于解除 4399.com 的源站播放 Referer 限制、增加源站播放标题
  11. // ==/UserScript==
  12.  
  13. function query(key) {
  14. let m = window.location.href.match(new RegExp(`[?|&]${key}=[^&]*`))
  15.  
  16. if (m == null) return null
  17. else return m[0].split("=")[1]
  18. }
  19.  
  20. function jump(url) {
  21. console.log(`Jump to ${url}`)
  22. document.location.href = url
  23. }
  24.  
  25. function setTitle() {
  26. let t = query("title")
  27. if (t != null) {
  28. const title = decodeURI(t)
  29. let titleTags = document.getElementsByTagName('title')
  30. if (titleTags.length === 0) {
  31. let tag = document.createElement("title")
  32. tag.innerText = title
  33. document.getElementsByTagName('body')[0].appendChild(tag)
  34. } else {
  35. titleTags[0].innerText = title
  36. }
  37. document.title = title
  38. }
  39. }
  40.  
  41. function com4399() {
  42. //读取hash
  43. const hash = document.location.hash
  44.  
  45. //匹配标记
  46. let m = hash.match(/#flash-collector-\d/)
  47. if (m == null) return
  48. let step = Number(m[0].slice(-1))
  49.  
  50. //状态机
  51. const cur = document.location.href.split("#")[0]
  52. switch (step) {
  53. case 0:
  54. //跳转到 4399 首页
  55. jump(`http://www.4399.com/#flash-collector-1?next=${cur}&title=${query("title")}`)
  56. break
  57. case 1:
  58. //跳回真实页面
  59. let n = query("next")
  60. if (n) jump(n + `#flash-collector-2?title=${query("title")}`)
  61. break
  62. case 2:
  63. //配置标题
  64. setTitle()
  65. }
  66. }
  67.  
  68. function com7k7k() {
  69. //配置标题
  70. setTitle()
  71. }
  72.  
  73. function main() {
  74. const url = window.location.href
  75. if (url.indexOf("4399.com") > -1) {
  76. com4399()
  77. } else if (url.indexOf("7k7k.com") > -1) {
  78. com7k7k()
  79. }
  80. }
  81.  
  82. main()