第一步生成md5 hash串:
var reader = new FileReader()
reader.onload = function(callback) {
var md5 = rstr2hex(binl2rstr(binl_md5(reader.result, reader.result.length)))
}
document.getElementById("xxx").value=md5
第二步:获取生成的md5值
var md5value = document.getElementById('xxx').value
hash模式是监听 hashchange 事件来实现的。
hash是监听 popstate 事件来实现的,但有点小问题需要处理一下。
history.replaceState 和 history.pushSstate 不触发 popstate 事件,这个问题可以自定义一个方法来实现。
hashCode = function(str){var hash = 0
if (str.length == 0) return hash
for (i = 0i <str.lengthi++) {
char = str.charCodeAt(i)
hash = ((hash<<5)-hash)+char
hash = hash &hash// Convert to 32bit integer
}
return hash
}