惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
The Blog of Author Tim Ferriss
WordPress大学
WordPress大学
博客园 - Franky
The Cloudflare Blog
T
Tailwind CSS Blog
宝玉的分享
宝玉的分享
小众软件
小众软件
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
B
Blog
Y
Y Combinator Blog
V
V2EX
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
博客园 - 司徒正美
IT之家
IT之家
G
Google Developers Blog
C
Check Point Blog
Engineering at Meta
Engineering at Meta
Microsoft Security Blog
Microsoft Security Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
GbyAI
GbyAI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻

博客园 - erik168

C#事件的定义与触发[查找] join语法 DataAdpater的Fill研究 关于event的浏览器兼容问题-from佛 - erik168 - 博客园 表驱动法 javascript实现xslt转换xml - erik168 - 博客园 幻方算法 2个JS细节 DOM模型设置属性细节 - erik168 - 博客园 js的Hashtable类(转) - erik168 - 博客园 几个关于javascript的细节 .net的同步 .net线程基础知识 C#开发ActiveX控件 从数据库中查询所有表及所有字段的SQL语句(转) 解决IE访问域外信息警告对话框弹出 创建XmlHttpRequest - erik168 - 博客园 vi概况 [资料查找结果]一些SHELL要知道的东西 - erik168 - 博客园
保存javascript运行状态
erik168 · 2006-11-16 · via 博客园 - erik168

<html>
<head>
<script>
function FunctionTagger()
{
this.actions={};//存储作为状态信息的参数
}
//注册需要实现刷新定位的函数
FunctionTagger.prototype.register=function(s,action){
this.actions[s]=action;
}
//处理url的hash信息的函数
FunctionTagger.prototype.toHash=function(s){
var hash=document.location.hash;
hash=hash.slice(1,hash.length);
var arrHash=hash.split(".");
if(hash.length==0)
arrHash=[];
var exist=false;
for(var i=0;i<arrHash.length;i++)
{
if(arrHash[i]==s)
{
exist=true;
break;
}
}
if(!exist)arrHash.push(s);
document.location.hash="#"+arrHash.join(".");
}
function winOnload()
{
var myhash=document.location.hash;
myhash=myhash.slice(1,myhash.length);
myarrHash=myhash.split(".");
if(myhash.length==0)myarrHash=[];
for(var i=0;i<myarrHash.length;i++)
{
ft.actions[myarrHash[i]]();
}
}
if(window.attachEvent)window.attachEvent("onload",winOnload);
else window.addEventListener("load",winOnload,true);
var ft=new FunctionTagger();
ft.register("p1",setp1);
ft.register("p2",setp2);
ft.register("p3",setp3);
function setCont(id,cont)
{
container=document.getElementById(id);
container.innerHTML=cont;
}
function setp1()
{
setCont("p1","here is p1");
ft.toHash("p1");
}
function setp2()
{
setCont("p2","here is p2");
ft.toHash("p2");
}
function setp3()
{
setCont("p3","here is p3");
ft.toHash("p3");
}
</script>
</head>
<body>
<a href="javascript:void(0)" onclick="setp1()">link1</a>
<a href="javascript:void(0)" onclick="setp2()">link2</a>
<a href="javascript:void(0)" onclick="setp3()">link3</a>
<div id="p1">p1</div>
<div id="p2">p2</div>
<div id="p3">p3</div>
</body>
</html>