油猴脚本-删除网页版喜马拉雅的“客户端下载”弹窗
起因
得益于国产软件日渐流氓,这年头的“客户端”我是能不用就不用。可是用网页听有声小说面临的第一个问题就是,点击播放后有个“下载桌面客户端”的弹窗。就下面这玩意儿:
最恼人的是:这个弹窗不会自动消失,十分碍眼!
于是临时起意写了这个脚本,因为是临时起意写的,代码过于潦草,所以不在greasyfork上发布了。
用法
油猴图标上右键,选择“添加脚本”
然后在编辑页面把下面的脚本贴进去。ctrl+S保存即可。
脚本内容
// ==UserScript==
// @name 删除喜马拉雅客户端下载提示
// @namespace http://tampermonkey.net/
// @version 0.1
// @description 删除喜马拉雅客户端下载提示
// @author 墨笑
// @run-at document-idle
// @match https://www.ximalaya.com/*
// @match https://*.ximalaya.com/sound/*
// @match https://ximalaya.com/sound/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=ximalaya.com
// @grant none
// ==/UserScript==
(function () {
/**
重要方法:不停轮询,直到selector代表的节点出现。
*/
const isElementLoaded = async (selector) => {
while (document.querySelector(selector) === null) {
await new Promise((resolve) => requestAnimationFrame(resolve));
}
return document.querySelector(selector);
};
const keepBodyScrollable = ()=>{
//因为喜马拉雅的页面转跳不会刷新整个页面
//所以这边用了个笨办法隔一段时间就主动修改body的可滚动属性
setInterval(function(){
document.querySelector("body").style.overflow = "scroll";
},500);
};
keepBodyScrollable();
isElementLoaded(
"#award > div.xm-player-case > div.xm-player.is-locked > div.xm-player-wrapper > div.xm-player-btns"
).then((selector) => {
// realWork()
deletePopWindows();
console.log("123 wood man");
});
isElementLoaded(
"body > div:nth-child(16)"
).then((selector) => {
// realWork()
deletePopWindows();
console.log("123 wood man");
});;
/**
**找到弹窗并删除
**/
let deletePopWindows = ()=>{
let mask = document.querySelector("body > div:nth-child(16) > div > div");
if (mask !== undefined && mask !== null) {
mask.remove();
}
let el = document.querySelector(
"body > div:nth-child(16) > div > div.xui-modal-wrap.zj_"
);
if (el !== undefined && el !== null) {
el.remove();
}
console.log("删除了弹窗");
};
})();

墨笑
如果我的文章能帮到你,还请不吝打赏,五块三块不嫌多,一块五毛不嫌少
版权属于:
墨笑的精神小憩之地 的博客
本文链接:
https://www.whisperdiary.cn/index.php/archives/57/
作品采用:
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可
推荐阅读
评论已关闭