我有一个非常长的(〜70,000个字符)字符串,我想要插入到URL中。我需要在浏览器中实现后退,所以当URL更改时,我的应用程序将作出反应并更改其状态。我怎样才能从字符串获得散列,然后从哈希返回的字符串在javascript中
这是我用它来生成字符串中的散列码功能:
String.prototype.hashCode = function() {
var hash = 0, i, char;
if (this.length == 0) return hash;
var l = this.length;
for (i = 0; i < l; i++) {
char = this.charCodeAt(i);
hash = ((hash << 5) - hash) + char;
hash |= 0; // Convert to 32bit integer
}
return hash;
};
但我怎么能得到我的字符串返回从它的哈希?
编辑:是否有任何其他方式来压缩这样一个长URL?
是否有任何其他的方式来压缩这么长的网址? –
您可以通过POST传输数据吗?然后,查询字符串将不可见。 – moritzpflaum
我不想传输数据。我需要在url中存储应用程序状态。所以,当我按下后退我的应用程序将作出反应,我也想传递网址到第三方,所以当他们复制粘贴它时,应用程序将保持它的状态 –