搜索
您的当前位置:首页正文

微信开发-技术文档(3)10.23-10.28.md

来源:二三娱乐

mongodb条件查找:

var condition = { me:iid, unread:{ $gt:0}};
Friend.find(condition).exec(function (err, docs)```

####jquery获取父级元素的方法
```js
$("id").parent()```

####查找元素时,检测是否找到
```js
//查找table底下有几个a标签  
alert($("table").find("a").size());

socket.emit()的调用顺序

因为是异步调用,因此在执行函数的顺序中遇到问题,因为调用重写函数比较麻烦,此处采取比较偷懒的设置延时方法。

setTimeOut(function(){},1000);```

即时通讯发送图片消息原理:上传图片到服务器,把url发送给接受者,

### 在文章中创建新节点、新片段
  
区别:
createElement是创建一个新的节点,
createDocumentFragment是创建一个文档片段。
第一:
createElement创建的元素可以使用innerHTML,createDocumentFragment创建的元素使用innerHTML并不能达到预期修改文档内容的效果,只是作为一个属性而已。两者的节点类型完全不同,并且createDocumentFragment创建的元素在文档中没有对应的标记,因此在页面上只能用js中访问到。也就是说创建文档片段之后,不会在html上显示。
第二:
另一个最主要的区别就是createElement创建的元素可以重复操作,添加之后就算从文档里面移除依旧归文档所有,可以继续操作,但是createDocumentFragment创建的元素是一次性的,添加之后再就不能操作了(说明:这里的添加并不是添加了新创建的片段,因为上面说过,新创建的片段在文档内是没有对应的标签的,这里添加的是片段的所有子节点)。也就是说只能添加不能移除,因为没有对应刻意除的东西


###添加qq表情

HTML:
首先在html页面的head中引入jQuery库文件和QQ表情插件jquery.qqFace.js文件。
由于jquery 1.9.0 以上版本 jquery去掉了对 $.browser 的支持,采用$.support 来判断浏览器类型。导致之前的很多插件报错 。
我们采取的思路是使用jquery的继承机制对jquery 1.11.1版本进行扩展 使其支持 $.browser 方法,已达到兼容之前组件的目的.低于jquery 1.9.0版本的用户可以不调用。

```html
<script type="text/javascript" src="jquery-1.7.2.min.js"></script> 
<script src="/public/javascripts/jquery-browser.js"></script>
<script type="text/javascript" src="jquery.qqFace.js"></script>

JS:
在脚本中添加qqFace触发事件,以及表情转码为图片函数

<script type="text/javascript">

$(function(){
 $('.emotion').qqFace({
 id : 'facebox', 
 assign:'saytext',   //给输入框赋值 
 path:'arclist/'     //表情图片存放的路径
 });
 //转换表情代码并显示
 $(".sub_btn").click(function(){
 var str = $("#saytext").val();
 $("#show").html(replace_em(str));
 });
});

//查看结果

function replace_em(str){
 str = str.replace(/\</g,'<');
 str = str.replace(/\>/g,'>');
 str = str.replace(/\n/g,'<br/>');
 str = str.replace(/\[em_([0-9]*)\]/g,'<img src="arclist/$1.gif" border="0" />');
 return str;
}
</script>

http.response.end方法使用说明

方法说明:
结束响应,告诉客户端所有消息已经发送。当所有要返回的内容发送完毕时,该函数必须被调用一次。
如何不调用该函数,客户端将永远处于等待状态。

response.end([data], [encoding])
接收参数:
data end()执行完毕后要输出的字符,如果指定了 data 的值,那就意味着在执行完 response.end() 之后,会接着执行一条 response.write(data , encoding);
encoding 对应data的字符编码

在可编辑div中,添加图片

div有一个属性 contenteditable,当这个属性为true时,此层可编辑;当这个属性为false时,层不可编辑。当层可编辑的时候,就像textarea了,但是,当输入的文字的行数多的时候,层会自动加高,这样给这个层加上 overflow:auto;属性。

mongodb条件嵌套查询

db.example.find({ '$or':[ {'$and':[{'example.a'{'$gt':1}},{'example.b':{'$gt':2}}]},
{'$and':[{'example.c':{'$gt':3}},{'example.d':{'$gt':4}}]}]})
Top