微信小程序之简单的广告拦截

  导语:我们在web-view内嵌网上的某些网站比如我内嵌的小说网站,会包含某些影响使用和含有诱导链接的垃圾广告,这时我们该怎么处理呢?
  首先,要是自己写的网站,就可以自己添加防范措施防止垃圾广告嵌入,比如针对XSS跨站脚本SQL注入等的输入校验防范措施,或是部署在用户端/服务端URL拦截等。
  而我们在不需要自己重新搭建网站一个已经存在的网站而是直接嵌入别人的网站时,怎么处理误点垃圾广告操作?
  我的方法是参考的Url拦截机制,拦截后跳转回web-view页面,并加载误点时正在访问的页面,首先说一下我的方法的限制:
  1.针对那种经过特别处理的垃圾广告网站,比如说:a.点进去之后进入垃圾网站,点击返回时垃圾网站会再次给你重定向到另一个垃圾网站;b.或是垃圾网站设置了跳转限制,在你Url拦截到要跳转到小程序页面时,他会在你跳转之前先跳转到他的页面。

之后我想了想,上述ab两种情况,对于浏览器这种流氓行为有时是有效的。不过当嵌入小程序,因为小程序和web-view内嵌的网页之间的隔离性,理论上说ab两种行为也会被拦截

  2.由于web-view自定义顶部导航失效,我的转码阅读页面和web-view页面都嵌入了tabbar里,

如下是三种跳转方式间的区别,可以看到我只有用wx.reLaunch(),而我也尝试过其他两种reDirectTo()navigateTo()确实是无效的。



这样会将所有页面关闭,目前我还没有找到解决方案。

需求:某个替代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代码

<!-- 小说搜索接口-->
<!-- 有参 -->
<!-- <web-view  src="https://so.88dush.com/search/index.php?search_field=0&q={{keyword}}" bindload="messageShow"wx:if="{{keyword!=''}}"></web-view> -->
<web-view src="https://so.88dush.com/search/index.php?q={{keyword}}" bindload="messageShow"wx:if="{{keyword!='' && url==''}}"></web-view><!-- 传参 -->
<web-view src="{{url}}" bindload="messageShow"wx:else></web-view>

微信小程序+.NET(九) 小程序之简单的广告拦截相关推荐

  1. 微信小程序开发(十)小程序支付-查询退款

    应用场景 提交退款申请后,通过调用该接口查询退款状态.退款有一定延时,用零钱支付的退款20分钟内到账,银行卡支付的退款3个工作日后重新查询退款状态. 接口说明 这里退款还是根据商户订单号-out_tr ...

  2. 微信小程序+.NET(八) 小程序之web-view讲解

    微信小程序之web-view 微信小程序源码链接: https://download.csdn.net/download/jinglell/11566840 web-view这个东西真的很好用,不过现 ...

  3. 微信小程序(九)微信登录(授权)、获取微信登录凭证code、openid

    微信登录 微信登录面对的问题: 怎么获取用户在微信的信息 怎么获取小程序用户的唯一身份标志 获取openid的方法 wx.login() 方法可以获取微信登录凭证code 使用code 可以向微信服务 ...

  4. 百度小程序用什么服务器好,百度、微信、支付宝,三家小程序平台,选谁?

    原标题:百度.微信.支付宝,三家小程序平台,选谁? 除了局外人看看BAT正面大战的热闹,对于小程序应用商而言,选择什么平台入驻.侧重在什么平台运营,恐怕成为头痛的问题.不过,从小程序的玩法规则及各大佬 ...

  5. 小程序开发过程中常见问题[微信小程序、支付宝小程序]

    小程序开发过程中常见问题[微信小程序.支付宝小程序] 正文 一.样式中如何使用background-image呢? background-image支持网络的图片链接或者base64 二.使用自适应单 ...

  6. dedecms小程序插件升级到1.4.4(支持百度小程序,微信小程序,头条小程序,QQ小程序,支付宝小程序...)

    从2019年6月份开发到现在 dede织梦小程序插件已经升级到1.4.4版本,现在已经支持:微信小程序,百度小程序,头条/抖音小程序,QQ小程序,支付宝小程序. dedecms小程序插件目前主要的功能 ...

  7. 微信小程序转百度小程序修改

    微信小程序转百度小程序修改 百度小程序很多兼容性问题已修复,具体细节请参考官方开发文档:https://smartprogram.baidu.com/docs/develop/fuctionlist/ ...

  8. php小程序地图处理,微信小程序 地图map详解及简单实例

    微信小程序 地图map 微信小程序map 地图属性名类型默认值说明longitudeNumber中心经度 latitudeNumber中心纬度 scaleNumber1缩放级别 markersArra ...

  9. WeChat之小工具:基于C++程序代码设计的查看微信撤销、撤回消息(包括文本、图片、视频等)GUI小工具

    WeChat之小工具:基于C++程序代码设计的查看微信撤销.撤回消息(包括文本.图片.视频等)GUI小工具 导读      哈哈,千万不要给程序猿随便发信息,程序猿认真起来,别说你发的微信信息,就连你 ...

最新文章

  1. CMake学习(一)
  2. Warning:date():It is not safe to rely on the syste
  3. 【转】数据结构与算法(上)
  4. Del.icio.us应用工具杂烩
  5. hadoop_单元测试Java Hadoop作业
  6. CRITICAL_SECTION的详细说明
  7. 心得体悟帖---18、时间
  8. dispatch事件分发
  9. magisk下载里显示没有模块_重大更新 | 仓耳云黑大字库amp;模块版本更新!
  10. 深度linux系统gho,深度技术ghost版的win7操作系统下载
  11. Anonymous推荐软件含有恶意***程序
  12. MSI Afterburner 官网链接指南
  13. 远程桌面无法连接 计算机死机,远程桌面时,被控端出现死机现象
  14. js 冒泡倒序 反转数组 去掉数组中重复性数据
  15. I don't know her
  16. 多实例下的定时任务如何避免重复执行——分布式定时任务
  17. 查看Oracle数据库资源状况
  18. (干货)电源方案合集
  19. 贝叶斯分析:抛硬币的概率真的是1/2吗
  20. 还在买鲜花送女神?手把手教你搭建3D立体相册网站,包女神稀饭

热门文章

  1. win10系统适配器选项网络连接文件夹为空解决办法
  2. 免费PDF下载网站 Free Pdf Download Engine
  3. 【c语言】初识c语言-让你对c语言不在感到一无所知
  4. UG NX 10 控制基准平面的显示大小
  5. 如何适配处理iphoneX底部的横条 ?(转)
  6. 第二周Java学习总结
  7. 苹果传奇延续?全面对比解析iPad mini
  8. J2EE工作流管理系统jBPM详解(二)
  9. 银河麒麟系统飞腾CPU安装达梦数据库
  10. 电脑屏幕黑屏的终极解决办法