原创:一个基于window.opener属性的客户端缓存方法。

博客围绕JavaScript展开,涉及按钮(button)、输入框(input)的功能实现,探讨了函数(function)的运用以及元素的行为(behavior)和边框(border)样式设置等信息技术相关内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原创:一个基于window.opener属性的缓存方法。

<script>
<!--
/* Coded By redsos  @ 2005-12-27
    Firfox/IE6 测试通过。   
   此方法的优点和缺点请查看 window.opener 属性的说明。
   利用此方法可用作离线保存(缓存数据)。
   opener.content可改换为:
       window.name , parent.name 或 self.name
   以达到不同的效果。
 */
function set(name,str){
   if(typeof(opener.content)=="undefined") opener.content = new Array();
  opener.content[name] = str;
}
function get(name){
  if(typeof(opener.content)=="undefined" || typeof(opener.content[name])=="undefined") {
     return false;
  }else{
    return opener.content[name];
  }
}
function elm(obj){
  return document.getElementById(obj);
}

//-->
</script><strong>test:</strong><br />
<span id=view></span><br />
Name:<input type="text" id="name" /><br /><br />
Str :<input type="text" id="str" />
<input type=button value=set onclick=set(elm('name').value,elm('str').value) />
<input type=button value=get onclick=elm('view').innerHTML=get(elm('name').value) />
 
 
 
/*

 另外一种方法。如果不考虑兼容性的话。使用IE的 UserData 是一个不错的方法。
 Sample code 引用自 http://www.htmlforums.com 的 Jon Hanlon

*/
 
<html>
<head>
<title>Userdata</title>

<style type="text/css">
  .userData { behavior:url(#default#userdata); }
</style>

</head>
<body>

Instructions:  Click inside the black box and enter some new text.<br>
Save this data with the <i>Put Data</i> button.<br>
Then reload, close down IE, reboot, whatever.  Return to this page.
Restore the saved data with the <i>Get Data</i> button.
<br><br>

<span class="userData" style="border: thin solid black"
      contenteditable="true" id="spnUserData">
What's new pussycat?
</span>

<br><br>
<button
    onclick='putUserData(spnUserData,"myData","myText",spnUserData.innerText)'
    id='btnPut'><i>Put Data</i></button>
<br>
<button
    onclick='spnUserData.innerText=getUserData(spnUserData,"myData","myText")'
    id='btnGet'><i>Get Data</i></button>

<script language="javascript">
function putUserData(oUD,sUDName,sName,sVal) {
  oUD.setAttribute(sName,sVal);
  oUD.save(sUDName);
  return;
}

function getUserData(oUD,sUDName,sName) {
  oUD.load(sUDName);
  return oUD.getAttribute(sName);
}
</script>

</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值