session_id()

session_id() 存取目前 session 代号。

语法: string session_id(string [id]);

本函数可取得或者重新配置目前存放 Session 的代号。若无参数 id 则表示只有取得目前 Session 的代号,加上参数则表示将 Session 代号设成新指定的 id。输入及返回均为字符串。

输出 session_id()

 

<?php
	session_start(); 
	echo session_id();
	// 输出 dqr58dnuqj2gufvg4o3tmjb9v4
?>

设置 session_id()

<?php
	session_id("NowaMagic");
	session_start(); 
	
	echo session_id();
	// 输出 NowaMagic
?>


Read More →

Mozilla 官方文档建议

Mozilla developer documentation 建议使用表单设置属性 tautocomplete=”off” 来阻止浏览器从cache获取数据填充登录表单

<input type="text" name="foo" autocomplete="off" />
但是这种方案不兼容某些Chrome、Firefox。

兼容所有浏览器

最终决定使用使用隐藏input来接受浏览器自动填充,这样不会影响用户体验,也可以兼容所有浏览器。

 

<input style="display:none"><!-- for disable autocomplete on chrome -->
<input type="text" id="username"  name="username"  autocomplete="off">

window.onload = function(){
var ifr1 = document.createElement(‘iframe’);
ifr1.id = ‘ifr1’;
ifr1.name = ‘ifr1’;

// 注意,动态的创建的iframe中,iframe中的内容必须等到iframe加载完之后才能添加,所以需要表明iframe加载完成的函数,如下两个函数
// ifr1.onload    谷歌和火狐认识 ,
// ifr1.onreadystatechange    IE认识,但是IE会执行两次,分别是ifr1.readyState == ‘interactive’和ifr1.readyState == ‘complete’,所以要做一下判断.

if(window.navigator.userAgent.indexOf(‘IE’) == -1){           //非IE的浏览器
ifr1.onload = setIframe;
}else{
ifr1.onreadystatechange = function(){                    //IE浏览器
if(ifr1.readyState == ‘complete’){                       //判断状态
setIframe();
}
}
}

function setIframe(){
//  方法一:
//    var ifrDoc = window.frames[‘ifr1’].document;
//    var ifrBody = window.frames[‘ifr1’].document.body;

//  方法二:
var ifrDoc = ifr1.contentWindow.document;
var ifrBody = ifr1.contentWindow.document.body;

ifrBody.style.cssText = ‘border:1px splid #CCC; cursor:text;background:red; ‘;
var ifrDiv1 = ifrDoc.createElement(‘div’);        //注意是要在框架的document中创建div,而不是该页面的document中
ifrDiv1.innerHTML = ‘wocooo’;
ifrBody.appendChild(ifrDiv1);
}

document.body.appendChild(ifr1);        //放在最后
}

(function($){
$(document).ready(function(){
$(“#collectSuccessShow”).click(function(){
$(this).html(“Bitte warten…”).load(location.search + “&type=collectArticle&uid=” + $(“#uid”).val());
});
});
})(jQuery)

jquery如何为动态创建的节点绑定事件,看如下这个案例
$("#table").append("<a href='javascript:;' class='del'>删除</a>");
$(".del").click(function(){
   alert("获取到拉");
})
如上这段代码是不起作用的,如果希望以上这段代码能达到目的,写法如下:
$("#table").append("<a href='javascript:;' class='del'>删除</a>");
$(".del").live("click", function(){
	alert("获取到了"); 
});
以上都是jQuery1.7之前的版本,1.7之后live函数去掉了。
1.直接导入jquery-migrate:https://github.com/jquery/jquery-migrate/
,这样可以使用live,但不对性能做优化
2.$(document).delegate('a', 'click',function() { blah() });
3 你想不想试试on呢,on要先绑定父节点
$("body").on("click","a", function () { 
 $("#111").append("ok");
});