记录学习过程中的方法或者问题 1、要在render中展示一个html内容 比如里面的空格,可以进行Unicode转码后再放到render中,但是这种方法还需要提供额外的接口处理内容,不方便。
1 2 |
var username='XXXXXXX'; //html内容 <p dangerouslySetInnerHTML={{__html: username}}></p> |
这种方法其实“dangerous”,因为在JSX中安全。 2、当一个……
记录学习过程中的方法或者问题 1、要在render中展示一个html内容 比如里面的空格,可以进行Unicode转码后再放到render中,但是这种方法还需要提供额外的接口处理内容,不方便。
1 2 |
var username='XXXXXXX'; //html内容 <p dangerouslySetInnerHTML={{__html: username}}></p> |
这种方法其实“dangerous”,因为在JSX中安全。 2、当一个……
这两天有一个浏览器插件的需求: 在网页上右键图片,可以把图片上传到指定的服务器! 其实后端的开发还比较简单,拿到一个图片的路径,下载下来,调用服务器接口上传,比如上传到了七牛。 主要在于前端怎么获取。插件开发网上有教程,首先有几个文件需要:manifest.json,index.html, 配置文件:manifest.json 这个文件设……
平时大家都用console.log()进行bug查找,后来查看到,有好多console的用法 console.assert(expression, object[, object…]) 接收至少两个参数,第一个参数的值或返回值为false的时候,将会在控制台上输出后续参数的值。例如: [crayon-674224f13971b……
在ios上的页面中,有时候需要一开始就进行播放音频,但是即便你加了autoplay,在js中写了start,但是它就是不播放。 很明显这个跟ios的系统有关,那么下面这种办法就可以搞定。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
var isAutoplay = true; var audio = document.getElementById('musicid'); // 音乐播放 function autoPlayMusic() { // 自动播放音乐效果,解决浏览器或者APP自动播放问题 function musicInBrowserHandler() { if(!isAutoplay){return false;} musicPlay(true); document.body.removeEventListener('touchstart', musicInBrowserHandler); } document.body.addEventListener('touchstart', musicInBrowserHandler); // 自动播放音乐效果,解决微信自动播放问题 function musicInWeixinHandler() { musicPlay(true); document.addEventListener("WeixinJSBridgeReady", function () { musicPlay(true); }, false); document.removeEventListener('DOMContentLoaded', musicInWeixinHandler); } document.addEventListener('DOMContentLoaded', musicInWeixinHandler); } function musicPlay(isPlay) { if (isPlay && audio.paused) { audio.play(); } if (!isPlay && !audio.paused) { audio.pause(); } } if (os=='ios'){ autoPlayMusic(); } |
当然,以上其实也是有个问题的, 如果进入页面,你想过一会儿再进行播放,你可能想在mus……
ios上的页面只用一行没办法解决
1 |
document.documentElement.style.overflow='hidden'; |
所以需要额外添加其他的,把touchmove禁止掉
1 2 3 |
$("body").on("touchmove",function(event){ event.preventDefault; }, false); |
当然了,可能需要另一个操作让页面重新开始滚动
1 2 3 4 |
$('.share-close').on('click',function () { $('.cover-index').fadeOut(); $("body").off("touchmove"); }) |
 ……
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
$("body").on("touchstart", function(e) { //e.preventDefault(); startX = e.originalEvent.changedTouches[0].pageX, startY = e.originalEvent.changedTouches[0].pageY; }); $("body").on("touchmove", function(e) { //e.preventDefault(); moveEndX = e.originalEvent.changedTouches[0].pageX, moveEndY = e.originalEvent.changedTouches[0].pageY, X = moveEndX - startX, Y = moveEndY - startY; console.log(startY) if ( Math.abs(X) > Math.abs(Y) && X > 0 ) { //从左侧向右滑动 console.log("left to right"); } else if ( Math.abs(X) > Math.abs(Y) && X < 0 ) { //从右侧向左滑动 console.log("right to left"); } else if ( Math.abs(Y) > Math.abs(X) && Y > 0) { //从上方向下滑动 console.log("top to bottom"); } else if ( Math.abs(Y) > Math.abs(X) && Y < 0 ) { //从下方向上滑动 console.log("bottom to top"); } else{ console.log("just touch"); } }); |
现在在做一个赛程页面,选择时间,相应的结果也要更改,采用了swiper(左右切换),滚动到底部,要自动切换到下一页,需要获取触摸事件,本来想采用上面的方法,但是不太好用,后来在swiper自己的onTouchMove相关方法中进行了判断,基本完成,随后会把这个效果放到git……
开发过程中注意两个问题: 1,在v0.14版本中,已经弃用了JSXTransformer.js,改用了browser.js;javascript标签type由text/jsx改为text/babel 2,在v0.14版本中,react包被拆分为react和react-dom,为以后跨平台插件共用准备 3,在论坛中我也做了提问,为什么在ba……
现在移动端页面和公司APP通常都是相关连的,比如这个是你app分享出来的页面,那么我就想点击页面的下载,如果我已经在手机上安装了app,那就直接打开app。 想必大家在平时使用一些分享页的时候经常有用到这样的功能,那么在页面上是怎么做的?其实很简单,就是打开一个链接。 当然了,这个链接是有要求的,首先它是客户端定义好的链接,这样的链接在手……
今儿开始学习React,久仰大名,终于有机会了,下周要做一个相对比较独立的页面,所以想用它练练手,不过今天开始,先要好好学一下。 一看官网的demo就晕,发现好多官网的demo都是把文件罗列出来,就是不告诉它是干嘛的,是要我一个一个测试吗,好吧,臣妾做不到!
1 2 3 |
<script src="../build/react.js"></script> <script src="../build/react-dom.js"></script> <script src="../build/browser.min.js"></script> |
这是demo的……
今儿有个需求,在一个数组对象中,有几十个数据,需要随机取出三个展示。 那么我的想法是从0到总数之间随机取数,比如取到了5,所以我就取对象中的[5]就行了。问题是如何获取3个不重复的数据,即获取比如0到10中三个不同的数。 下面就是两个方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
/* num 要产生多少个随机数 from 产生随机数的最小值 to 产生随机数的最大值 */ function createRandom(num ,from ,to ){ var arr=[]; for(var i=from;i<=to;i++) arr.push(i); arr.sort(function(){ return 0.5-Math.random(); }); arr.length=num; return arr; } function createRandom2(num , from , to){ var arr=[]; var json={}; while(arr.length<num){ //产生单个随机数 var ranNum=Math.ceil(Math.random()*(to-from))+from; //通过判断json对象的索引值是否存在 来标记 是否重复 if(!json[ranNum]){ json[ranNum]=1; arr.push(ranNum); } } return arr; } alert(createRandom2(10,0,50));//生成10个从0-50之间不重复的随机数 |
我看网上说,第一种……