去除手机浏览器访问CSDN网站的提示
前言
有时候想用手机查查程序问题,用手机浏览器访问总是弹出打开App、登录烦人的提示
一、烦人的提示
用手机看几篇文章,打开就遇到这个


这样


还有这样的

血压一下子就上了,你要我下APP,就不下。诶,就是玩

二、寻找解决方法
手机自带的浏览器我就直接放弃了,根本不报任何希望🙄
我在via浏览器上发现了脚本这个选项,嘿嘿🙈

支持脚本就意味着可以自由的操作dom了,找出那写烦人的提示,去除即可。嘿嘿嘿
三、编写脚本
1.去除打开APP提示
定位到 继续浏览 对应的节点,进行删除即可:

定位到 打开CSDN 对应的节点,删除

还有APP内打开、打开APP 对应的节点也一并删除


代码如下:
$(".weixin-shadowbox").remove();
$(".btn_open_app_prompt_div").remove();
$(".feed-Sign-weixin").remove();
$(".openApp").remove();
2.自动展开
找到 点击阅读全文 对应的元素,模拟点击事件:

出现的弹出,在模拟点击事件取消

还有代码区域也需要展开,如法炮制,找到对应的元素模拟点击事件:

代码如下:
$(".detail-open-removed").click();
$(".app-bt-cance").click();
$(".hide-preCode-bt").click();
3.复制代码
复制代码也需要登录,老样子,找到对应元素,去除点击事件,绑定自己的复制事件就行了:

代码如下:
$(".signin").removeAttr("onclick");
$(".signin").unbind("click");
$("code").removeAttr("onclick");
$("code").unbind('click').bind("click",function(){
const ele = document.createElement('input')
// 设置元素内容
ele.setAttribute('value', $(this).text())
// 将元素插入页面进行调用
document.body.appendChild(ele)
// 复制内容
ele.select()
// 将内容复制到剪贴板
document.execCommand('copy')
// 删除创建元素
document.body.removeChild(ele)
});
四、完整代码
由于via浏览器脚本是在页面加载之前就执行了,所以加个定时器,等待页面加载完毕在执行,执行完在清除定时器即可,完整代码如下:
//添加定时
var func = setInterval(()=>{
//确定页面加载完毕
if($(".btn_open_app_prompt_div").length!=0){
//删除继续浏览提示
$(".weixin-shadowbox").remove();
//删除打开app提示
$(".btn_open_app_prompt_div").remove();
$(".feed-Sign-weixin").remove();
$(".openApp").remove();
//自动展开
$(".detail-open-removed").click();
$(".app-bt-cance").click();
$(".hide-preCode-bt").click();
//推荐不提示app打开
$(document).unbind("click");
$(".open_app_channelCode").bind("click",function(){
let aArr = $(this).find("a");
let href = aArr[aArr.length-1].href;
window.location.href=href;
});
//复制代码
$(".signin").removeAttr("onclick");
$(".signin").unbind("click");
$("code").removeAttr("onclick");
$("code").unbind('click').bind("click",function(){
const ele = document.createElement('input')
// 设置元素内容
ele.setAttribute('value', $(this).text())
// 将元素插入页面进行调用
document.body.appendChild(ele)
// 复制内容
ele.select()
// 将内容复制到剪贴板
document.execCommand('copy')
// 删除创建元素
document.body.removeChild(ele)
});
clearInterval(func);
}
},500);
setInterval(()=>{
$(".passport-login-container").remove();
},200);
把以上代码添加进去即可

五、效果展示
去除CSDN提示
总结
这个插件也没啥难度,只是单纯的方便自己查看网页,其他网站也是类似,目前用着还可以。如果不行刷新下应该就可以用了


浙公网安备 33010602011771号