bye-flash-hello-html5 | 再见flash 你好html5

国内主流视频网站的HTML5播放

  1. // ==UserScript==
  2. // @name bye-flash-hello-html5 | 再见flash 你好html5
  3. // @namespace https://greatest.deepsurf.us/en/users/131965-levinit
  4. // @author levinit
  5. // @description 国内主流视频网站的HTML5播放
  6. // @include *://*.le.com/*
  7. // @include *://tv.cctv.com/*
  8. // @include *://wlchunwan.cctv.com/*
  9. // @include *://*.cntv.cn/video/*
  10. // @include *://*.icourse163.org/*
  11. // @include *://study.163.com/course/courseLearn*
  12. // @include *://mooc.study.163.com/learn/*
  13. // @include *://*.sohu.com/*html*
  14. // @include *://*mgtv.com/*html*
  15. // @include *://*acfun.cn/v/ac*
  16. // @include *://*acfun.cn/bangumi/*
  17. // @include *://m.acfun.cn/*
  18. // @run-at document-start
  19. // @version 1.8.1
  20. // @grant none
  21. // ==/UserScript==
  22. //'use strict';
  23. //=====
  24. //acfun手机版主页跳转到pc版主页
  25. if (location.href.indexOf('m.acfun') >= 0) {
  26. //手机版频道页跳转到pc版频道页
  27. if (location.hash.indexOf('channel') >= 0) {
  28. const num = location.hash.match(/\d+/)[0];
  29. location.replace('http://acfun.cn/v/list' + num + '/index.htm');
  30. }
  31. if (location.href === 'http://m.acfun.cn/') {
  32. location.replace('http://acfun.cn/');
  33. }
  34. }
  35. //=====
  36. let [ua, isMobile] = [null, false]; //user-agent 和 是否使用移动ua
  37. //这些网站使用移动ua
  38. const sites = ['cctv', '.163', 'cntv', 'sohu', 'acfun'];
  39. sites.forEach(curVal => {
  40. if (location.host.indexOf(curVal) >= 0) {
  41. isMobile = true;
  42. return false;
  43. }
  44. });
  45. //=====
  46. if (isMobile) {
  47. ua =
  48. 'Mozilla/5.0 (Linux; U; Android 4.0.4; GT-I9300 Build/IMM76D) AppleWebKit/601.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/601.1.46';
  49. //Android7
  50. //'Mozilla/5.0 (Linux; Android 7.0; PLUS Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.98 Mobile Safari/537.36';
  51. //ipad2
  52. //"Mozilla/5.0 (iPad; U; CPU OS 4_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8F191 Safari/6533.18.5";
  53. //Android 4
  54. } else {
  55. //使用chrome、mac、safari等ua
  56. if (location.host.indexOf('le.com') >= 0) {
  57. //le.com对mac+safari情有独钟
  58. ua =
  59. 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/604.3.5 (KHTML, like Gecko) Version/11.0 Safari/604.3.5';
  60. } else {
  61. ua =
  62. 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13) AppleWebKit/604.3.5 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/604.3.5';
  63. }
  64. }
  65. changeUA(ua);
  66. //=====
  67. //显示播放控制条 stuyd.163
  68. window.onload = function () {
  69. if (
  70. isMobile === true &&
  71. location.href.search('study.163') >= 0
  72. ) {
  73. const v = ele('video');
  74. if (v) {
  75. v.setAttribute('controls', 'controls');
  76. }
  77. }
  78. };
  79. //=====
  80. //获取元素对象的函数
  81. function ele(element) {
  82. return document.querySelector(element);
  83. }
  84. //更改ua的函数
  85. function changeUA(ua) {
  86. Object.defineProperty(navigator, 'userAgent', {
  87. value: ua,
  88. writable: false,
  89. configurable: false,
  90. enumerable: true
  91. });
  92. }