微信小程序+.NET(九) 小程序之简单的广告拦截 |
您所在的位置:网站首页 › 怎么跳过微信小程序广告直接领取奖励 › 微信小程序+.NET(九) 小程序之简单的广告拦截 |
微信小程序之简单的广告拦截
导语:我们在web-view内嵌网上的某些网站比如我内嵌的小说网站,会包含某些影响使用和含有诱导链接的垃圾广告,这时我们该怎么处理呢? 首先,要是自己写的网站,就可以自己添加防范措施防止垃圾广告嵌入,比如针对XSS跨站脚本或SQL注入等的输入校验防范措施,或是部署在用户端/服务端的URL拦截等。 而我们在不需要自己重新搭建网站一个已经存在的网站而是直接嵌入别人的网站时,怎么处理误点垃圾广告操作? 我的方法是参考的Url拦截机制,拦截后跳转回web-view页面,并加载误点时正在访问的页面,首先说一下我的方法的限制: 1.针对那种经过特别处理的垃圾广告网站,比如说:a.点进去之后进入垃圾网站,点击返回时垃圾网站会再次给你重定向到另一个垃圾网站;b.或是垃圾网站设置了跳转限制,在你Url拦截到要跳转到小程序页面时,他会在你跳转之前先跳转到他的页面。 之后我想了想,上述ab两种情况,对于浏览器这种流氓行为有时是有效的。不过当嵌入小程序,因为小程序和web-view内嵌的网页之间的隔离性,理论上说ab两种行为也会被拦截 2.由于web-view自定义顶部导航失效,我的转码阅读页面和web-view页面都嵌入了tabbar里, 需求:某个替代web-view的自定义导航栏里的自定义按钮的方案: 实现:在访问web-view页面时点击某个按钮(而不是我现在的底部tabBar)跳转到阅读器模式 解决:1.会省掉阅读器模式的刷新按钮,直接就不用自定义顶部导航栏 2.不用tabBar模式,就可以不用wx.reLaunch()跳转,无需关闭所有页面) 要是有读者有好的解决方案欢迎下方留言,谢谢! 下面贴上我完整的messageShow()代码: messageShow : function(e){ console.log(e.detail); var curUrl = e.detail.src; if (curUrl.substring(0, 20) == "https://m.88dush.com" ){ if (curUrl.substring(21, 25) == "book" ){ wx.setStorageSync('curUrl',curUrl); try { var thisUrl = wx.getStorageSync('curUrl'); if (thisUrl) { console.log("设置成功 curUrl=" + thisUrl); } } catch (e) { console.log(e); } } } else if (curUrl.substring(0, 21) != "https://so.88dush.com"){ console.log("垃圾广告"); try { var thisUrl = wx.getStorageSync('curUrl'); if (thisUrl) { //console.log(" curUrl=" + thisUrl); wx.reLaunch({ //url: '../searchbaidu/searchbaidu?url=' + thisUrl + '&sid=' + util.formatTime(new Date()), url: '../searchbaidu/searchre?url=' + thisUrl, }) }/*else{ wx.reLaunch({ url: '../index/index', }) }*/ } catch (e) { console.log(e); } //wx.navigateBack(); } }, wxml代码 {keyword}}" bindload="messageShow" wx:if="{{keyword!=''}}"> --> |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |