夢想妖夏

B站播放器修复脚本更新

2014-01-23

最近更新点此

修复B站播放器
1:修复无法在火狐魔镜弹窗播放
2:替换爱奇艺、优酷为B站播放器
注意:遇到无法播放问题请关闭脚本

BUG提交反馈到这里
已知bug:播放旧的爱奇艺源会报错,无法播放,此时请关闭播放器

下一次准备添加:
自动修复和手动修复模式,让用户自己选择

好了,一贯以来,都要写的源码:

// ==UserScript==
// @name        bili_old_player
// @namespace   bili
// @description 修复B站播放器
// @include     http://www.bilibili.tv/video/*
// @include     http://bilibili.kankanews.com/video/*
// @version     3.0
// @grant       GM_xmlhttpRequest
// @grant       GM_getValue
// @grant       GM_setValue
// @grant       GM_addStyle
// ==/UserScript==
/**
爱奇艺、搜狐视频注意,出现无法播放情况先关闭自动修复
2013-12-14修复B站播放器无法在火狐魔镜弹窗播放
2014-01-23替换优酷、爱奇艺、搜狐为B站播放器
------------以下信息提供给开发者-----------
//https://static-s.bilibili.tv/play.swf---新版播放器
//http://static.hdslb.com/play.swf---旧版播放器
//https://static-s.bilibili.tv/play_old.swf---考古级别播放器
-------------------------------------------
*/
//初始化 init
if (GM_getValue('auto') == undefined) GM_setValue('auto', 1);
var url = document.location.href;
aid_reg = /\av(.{6,10})\//ig;
aid = aid_reg.exec(url); //取出aid

var content = document.getElementById('bofqi').innerHTML;
youku = /bili-cid=(.{6,10})&/ig; // 创建正则表达式模式。 优酷
bili = /cid=(.{6,10})&aid=(.{6,10})\"/ig; //B站原大型播放器
iqiyi = /cid:'(.{6,10})'};/ig; //爱奇艺播放器
sohu = /sohu/ig; //搜狐播放器 

/**
-------------------------------用户界面GUI View-------------------------------------
*/
//函数,插入可视化操作视图

function insert_html(type) {
	var div = document.createElement("div");
	div.innerHTML = 'bili播放器修复脚本  		  遇到播放错误请关闭自动修复后刷新页面

本页视频源:' + type + '    BUG提交

'; var s = GM_getValue('auto') ? '#00A1CB;">已打开' : '#F489AD;">已关闭'; div.innerHTML += '自动修复:'; } } //得出视频源播放器类型,爱奇艺、优酷、乐视、bili function find_data(reg, data) { r = data.indexOf(reg); if (r > 0) { return true; } else { return false; } } //再次匹配,得出aid cid等数据 function get_data(r, d) { v = r.exec(d); return v; //exec是全局的,在switch循环转第二次开始都会返回null } //api获取cid,此处借用了剑仙大神的app key function api_get_cid(avid) { var url = 'http://api.bilibili.tv/view?type=json&appkey=499c434204e08aa7&id=' + avid; GM_xmlhttpRequest({ method: 'GET', url: url, synchronous: false, onload: function(responseDetails) { if (responseDetails.status == 200) { var Content = eval('(' + responseDetails.responseText + ')'); cid = Content.cid; Replace_player(aid[1], cid); } } }); }

脚本安装地址:
http://userscripts.org/scripts/show/186094

标签:

Related Posts

16 Comments

  1. 赞,终于回归B站原本的播放器了=w=

    2014.01.23 at 18:28
    #1  
    • 太久没写GM脚本,下午被一个[object XrayWrapper [object Window]]问题花费了一下午,最后发现是我乱用全局变量,var下就没事了2333这真是宝贵经验,等下写博

      2014.01.23 at 19:08
      #11
  2. 楼上小学生

    2014.01.23 at 21:34
    #2  
  3. 有无chrome的呢

    2014.01.24 at 10:27
    #3  
    • chrome安装Tampermonkey扩展后即可使用猴子脚本

      2014.01.24 at 12:35
      #31
  4. 技术贴,观摩一下

    2014.02.11 at 11:16
    #4  
  5. 赞一下

    2015.04.16 at 13:40
    #5  
  6. 文章写得不错 赞一个

    2015.04.17 at 23:19
    #6  
  7. 第一次来你博客哦,文章不错哦,求认识啊,博主,求回访www.aiyw.net

    2015.04.27 at 21:35
    #7  
  8. 好文档学习了

    2015.04.30 at 17:49
    #8  
  9. 保存下来慢慢看

    2015.05.10 at 13:08
    #9  
  10. 2015.06.18 at 13:15
    #10  
  11. 很久没有过来了,今天过来看一看!

    2015.08.31 at 22:43
    #11  
  12. [爱] 太给力了赶紧收藏

    2016.03.30 at 07:08
    #12