您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Open BilibiliUWP from Web
当前为
- // ==UserScript==
- // @namespace BlueFire
- // @version 1.06
- // @grant unsafeWindow
- // @include http://www.bilibili.com/video/*
- // @include http://www.bilibili.com/mobile/video/*
- // @include http://bangumi.bilibili.com/*
- // @include http://live.bilibili.com/*
- // @include http://music.163.com/*
- // @include http://*.ithome.com/*
- // @include http://*.lapin365.com/*
- // @run-at document-start
- // @name BilibiliToUWP
- // @name:zh-CN Bilibili调起UWP客户端
- // @description Open BilibiliUWP from Web
- // @description:zh-CN 从Bilibili网页调起UWP客户端
- // ==/UserScript==
- unsafeWindow.Object.freeze = null;
- var IsOpenURIWhenPageLoadedEnable = false;
- document.addEventListener('DOMContentLoaded',OnPageLoaded , true);
- //document.onload = OnPageLoaded;
- function OnPageLoaded (event) {
- try {
- window.oneerror=function(){return true;};
- var url = window.location.href;
- var loc;
- var URI="";
- var element,element2,para,childpara,node;
- if(url.indexOf("bilibili.") != -1 && (url.indexOf("index") != -1 || url.indexOf("html") == -1))
- {
- if(url.indexOf("bangumi") != -1)
- {
- window.addEventListener('load',OnWindowLoaded,true);
- }
- else if(url.indexOf("video") != -1)
- {
- loc = url.match("av[0-9]*")[0].match("[0-9].*");
- URI = "bilibili://video/" + loc;
- element = document.getElementsByClassName("tminfo")[0];
- para = document.createElement("a");
- para.innerText = "用客户端打开";
- para.setAttribute("class","charge-appeal-init");
- para.href = URI;
- element.appendChild(para);
- element2 = document.getElementsByClassName("qr-bottom")[0];
- element2.childNodes[1].removeAttribute("target");
- element2.childNodes[1].href=URI;
- }
- else if(url.indexOf("live") != -1)
- {
- loc = url.match("[0-9].*")[0];
- URI = "bilibili://live/" + loc;
- element = document.getElementsByClassName("room-title-row")[0];
- element2 = document.getElementsByClassName("report-link dp-none")[0];
- para = document.createElement("a");
- para.innerText = "用客户端打开";
- para.setAttribute("class","share-link");
- para.href=URI;
- try
- {
- element.appendChild(element2);
- element2.appendChild(para);
- }catch(error){}
- }
- }
- if(url.indexOf("music.163.") != -1)
- {
- var IsEnable = false;
- if(url.indexOf("playlist") != -1) //判断歌单
- {
- if(url.indexOf("playlist?id=") != -1)
- {
- IsEnable = true;
- loc = url.match("id=[0-9]*")[0].match("[1-9].*")[0];
- }
- if(url.indexOf("/playlist/") != -1)
- {
- IsEnable = true;
- loc = url.match("/playlist/[1-9]*")[0].match("[1-9].*")[0];
- }
- URI = "orpheus://playlist/" + loc;
- }
- if(url.indexOf("song") != -1) //判断歌曲
- {
- IsEnable = true;
- if(url.indexOf("song?id=") != -1)
- {
- loc = url.match("id=[0-9]*")[0].match("[1-9].*")[0];
- }
- if(url.indexOf("/song/") != -1)
- {
- loc = url.match("/song/[1-9]*")[0].match("[1-9].*")[0];
- }
- URI = "orpheus://song/" + loc;
- }
- if(url.indexOf("album") != -1) //判断专辑
- {
- IsEnable = true;
- if(url.indexOf("album?id=") != -1)
- {
- loc = url.match("id=[0-9]*")[0].match("[1-9].*")[0];
- }
- if(url.indexOf("/album/") != -1)
- {
- loc = url.match("/album/[1-9]*")[0].match("[1-9].*")[0];
- }
- URI = "orpheus://album/" + loc;
- }
- if(url.indexOf("program?id=") != -1) //判断电台节目
- {
- IsEnable = true;
- if(url.indexOf("program?id=") != -1)
- {
- loc = url.match("id=[0-9]*")[0].match("[1-9].*")[0];
- }
- if(url.indexOf("/program/") != -1)
- {
- loc = url.match("/program/[1-9]*")[0].match("[1-9].*")[0];
- }
- URI = "orpheus://program/" + loc;
- }
- if(url.indexOf("artist?id=") != -1) //判断歌手
- {
- IsEnable = true;
- if(url.indexOf("artist?id=") != -1)
- {
- loc = url.match("id=[0-9]*")[0].match("[1-9].*")[0];
- }
- if(url.indexOf("/artist/") != -1)
- {
- loc = url.match("/artist/[1-9]*")[0].match("[1-9].*")[0];
- }
- URI = "orpheus://artist/" + loc;
- }
- if(url.indexOf("djradio?id=") != -1) //判断电台主播
- {
- IsEnable = true;
- if(url.indexOf("djradio?id=") != -1)
- {
- loc = url.match("id=[0-9]*")[0].match("[1-9].*")[0];
- }
- if(url.indexOf("/djradio/") != -1)
- {
- loc = url.match("/djradio/[1-9]*")[0].match("[1-9].*")[0];
- }
- URI = "orpheus://djradio/" + loc;
- }
- if(IsEnable)
- {
- document.documentElement.focus();
- para = document.createElement("a");
- childpara = document.createElement("i");
- node=document.createTextNode("用客户端打开");
- childpara.appendChild(node);
- para.setAttribute("class","u-btni u-btni-dl");
- para.href=URI;
- para.style.marginTop="7px";
- para.appendChild(childpara);
- element=document.getElementById("content-operation");
- element2 = document.getElementsByClassName("btns f-cb j-flag")[0];
- try {element.appendChild(para);}catch(error){}
- try {element2.appendChild(para);}catch(error){}
- }
- }
- if(url.indexOf("ithome.com") != -1)
- {
- if(url.indexOf("quan") == -1)
- {
- loc = url.match("/[0-9]+")[0].match("[0-9]+")[0];
- URI = "ithome://ithome.com/?newsid=" + loc;
- }
- else
- {
- loc = url.match("[0-9]{3}/[0-9]{3}")[0].replace("/","");
- URI = "ithome://ithome.com/?postid=" + loc;
- }
- para = document.createElement("li");
- childpara = document.createElement("a");
- childpara.setAttribute("class","nav-item nav-item-7");
- childpara.href = URI;
- node = document.createTextNode("使用客户端打开");
- childpara.appendChild(node);
- para.appendChild(childpara);
- element = document.getElementsByClassName("nav_list")[0];
- try {element.appendChild(para);} catch (error) {}
- }
- if(URI !== "" && URI !== null && URI !== undefined && IsOpenURIWhenPageLoadedEnable)
- {
- alert(URI);
- window.location.href = URI;
- }
- }
- catch (error)
- {
- //alert(error);
- }
- }
- function OnWindowLoaded(event)
- {
- try
- {
- window.oneerror=function(){return true;};
- var url = window.location.href;
- var loc;
- var URI="";
- if(url.indexOf("bilibili.") != -1 && (url.indexOf("index") != -1 || url.indexOf("html") == -1))
- {
- if(url.indexOf("bangumi") != -1)
- {
- var ele= document.getElementsByClassName("v-av-link")[0];
- loc = ele.href.match("[0-9]+")[0];
- URI = "bilibili://video/" + loc;
- ele.setAttribute("target","");
- ele.href = URI;
- ele.innerText = "使用客户端打开 AV" + loc;
- }
- }
- }
- catch(error){}
- }