Grayon / Douyu-for-Mac

非官方Mac版斗鱼播放器带实时弹幕
https://github.com/Grayon/Douyu-for-Mac
MIT License
152 stars 16 forks source link

【已解决】safari 11.03 油猴子脚本使用异常以及button出现延迟问题 #26

Closed TomatoFryEggs closed 4 years ago

TomatoFryEggs commented 6 years ago

点击脚本打开软件后无法获取当前页面主播id~ chrome使用正常

TomatoFryEggs commented 6 years ago

自己动手风衣足食,问题已经解决。

  1. anchor-cover-wrap 主播如果将自己的数字id改成字母时,这个类将不会在safari上被搜到(不知道原因),于是将类换成feedback-report-button,解决!
  2. 不知道是不是作者手误将生效时间设置为10000ms(10s)button出现就比较慢,已经手动改成1000ms(1s),暂时未发现别的问题。

感谢作者大大!!!

// ==UserScript==
// @name         Mac斗鱼播放器
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  用Mac斗鱼打开直播间
// @author       Garyon
// @match        *://*.douyu.com/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
    $(document).ready(function(){
        setTimeout(function(){
            var roomid=/\d+/.exec($(".feedback-report-button").attr("href"));
            $(".r-else").append('<li><span id="openMacPlayer"><a href = "dy://room/'+ roomid +'">用Mac斗鱼打开</span></li>');
        },1000);
    });
})();
TomatoFryEggs commented 5 years ago

2019.01.12更新 优化显示,和获取方式。 Screenshot 2019-01-12 12.35.35.png

// ==UserScript==
// @name         Mac斗鱼播放器
// @namespace    http://tampermonkey.net/
// @version      0.1.2
// @description  用Mac斗鱼打开直播间
// @author       Garyon
// @match        *://*.douyu.com/*
// @grant        none
// ==/UserScript==

(function() {
    function openMacVideo() {
        try {
            var count = 0;
            var sin = setInterval(() => {
                var title_a = document.querySelector(".Title-report");
                var ooo = document.querySelector('.PhoneWatch-qrcodeTitle');
                if (title_a && ooo) {
                    console.log(title_a);
                    var roomid = /\d+/.exec(title_a.href)[0];
                    ooo.innerHTML='<li><span id="openMacPlayer"><a href = "dy://room/'+roomid+'">Mac斗鱼</span></li>';
                    clearInterval(sin);
                }
                if (count > 50) {clearInterval(sin);} else {count++; }
            }, 100);}
        catch(error){
            console.error(error);
        }
    }
    window.onload = openMacVideo;
})();