javascript

A collection of 6 posts
javascript

react-router 使用HashRouter时微信jssdk分享的问题

一次开发中使用用jssdk中会修改当前分享中的内容以及链接之后,进行测试时使用android设备进行分享,发现无法获取到hash值的内容。ios设备正常,进行多次Google之后发现这个是jssdk诸多坑中的一个。 例如设置分享的url地址如下: https://xwlong.com/wechat/#/detail 实际android分享的地址是: https://xwlong.com/wechat/ 这样路由的就没有效果了 解决办法: 实际上解决办法很简单,加上任意的search参数,或者只加上一个?也可以。如下: https://xwlong.com/wechat/?#/detail const setShareUrl = href => { const url = new URL(href) if(!url.search) { url.search = '?' } return url } 以上😊
1 min read
js修改返回到app的记录
javascript

js修改返回到app的记录

有点标题党了,其实无法直接通过js修改返回app的方法。只是一个小技巧。 风平浪静的一天突然测试疾步走来提了一个不知道算不算前端的bug。虽然并不是给我提的,但是我突然想到了一个思路,具体的问题如下:主页面a 可以选择地址,地址列表b, 在a页面跳转到b页面b页面操作完成后跳转回a页面继续操作,需要点击app的返回不能回到b而是直接回到app 思路就是利用 window.history.replaceState 修改当前的URL然后返回的时候就会回到这里修改的URL再这个页面利用a标签返回到app 1.创建一个页面 returnapp.html,用来执行返回到app的 大概代码如下: const a = document.createElement('a') a.href = 'youapp://' a.click() 其实可以对这个页面传不同的参数返回到不同的页面 2.页面跳转前修改当前页面的地址 当在选择完地址之后,修改当前页面的地址到:retutnapp.html window.history.replaceState(null, null,
2 min read
IE坑
记录

IE坑

今天做一个活动页面,回来后测试IE浏览器,有一块ajax获取的内容一直空白,其他的都正常,打开调试工具就就好了,这个感觉特别奇怪,刚开始以为是很高大上的错误.ps:IE的开发工具非常非常不好用 查找bug思路 排除CSS问题 因为很少针对IE做兼容,开始以为是CSS上面的问题,后来仔细看来一下,既然打开调试工具之后可以正常显示那就不应该是样式的问题,不然的话很定最后也不会显示的,于是判断是js的问题 js bug 位置判断 由于js文件中其他的都可以正常执行至于请求的无法获取,于是加上了很多console.log(),发现控制台没有日志出现,刚开始以为是函数不执行,于是找了好久,在正式环境下是HTTPS的后来IE终于弹了一个错误是第几行几个个字符的位置,于是搜索发现原来是一个很坑的问题 原因 IE8下面的console.logo()这类的都需要加上window,完整的是window.console.log() 总结 多搜索,仔细,认真,远离IE
1 min read
url各个部分获取方法
javascript

url各个部分获取方法

偶然看到了一个通过js获取URL协议hostname等方法的办法。 记录一下,免得忘记了 地址:http://james.padolsey.com/javascript/parsing-urls-with-the-dom/ 把函数也记录一下吧! `// This function creates a new anchor element and uses location // properties (inherent) to get the desired URL data. Some String // operations are used (to normalize results across browsers). function parseURL(url) { var a = document.createElement('a'); a.href = url;
1 min read
根据鼠标滚动隐藏、显示导航栏或者其他元素
javascript

根据鼠标滚动隐藏、显示导航栏或者其他元素

之前有看到过一个插件Headroom.js,可以设置元素的显示或者隐藏,感觉很厉害,之前夜弄过,后来把这个插件取消了,因为不喜欢插件,今天没事自己写了一个很简单的只控制了某一个元素的显示与隐藏,代码很简单,当然功能不能与插件比较,并且使用了css3,还有新的选择器querySelector,获取class列表这样的所以没有考虑旧的浏览器。 相关链接 演示:http://htmlpreview.github.io/?https://raw.githubusercontent.com/wolyshaw/html/master/mousewheel 源码地址:https://github.com/wolyshaw/html/blob/master/mousewheel Headroom.js插件地址:http://wicky.nillia.ms/headroom.js/
1 min read