我项目中使用userData的实例 UserData.js
关于userData的介绍,请参见
http://hi.baidu.com/kaisep/blog/item/1da9a3312d2da5a15edf0e87.html
http://hi.baidu.com/kaisep/blog/item/bea532f58eb0082cbc310980.html
我这里直接说我的用法
我封装好的userData.js
document.write('<form id="oForm"><input style="DISPLAY: none; HEIGHT: 50px; WIDTH: 50px" ID="oInput"></form><IE:clientCaps id="ExculpateRate"></IE:clientCaps>')
var userData = oForm.oInput
//保存对象到XML文件中
// 如把select下拉列表的值0,以sSelectIndex为名称,保存到filename(将来在userdata中以filename[1].xml存在)中
//SaveUserData("sSelectIndex", filename, "0");
function SaveUserData(Main, Sub, strContent) {
try {
userData.setAttribute(Main + userData.value, strContent)
userData.save(Sub + userData.value)
} catch (e) {
}
}
//加载获取文件中的对象值
//如获取上面保存的值
//var str_bm = LoadUserData("sSelectIndex", filename)
function LoadUserData(Main, Sub) {
try{
userData.load(Sub + userData.value)
var sTmp = userData.getAttribute(Main + userData.value)
if (sTmp == null)
sTmp = ""
return sTmp
}catch(e){
return ""
}
}
使用方法:
先写入样式
<STYLE>
.userData {behavior:url(#default#userdata);}
</STYLE>
再引入userData.js
<script src="../etc/js/userData.js"></script>
实例HTML页面
<html>
<head>
<title>无标题文档</title>
<STYLE>
.userData {behavior:url(#default#userdata);}
</STYLE>
</head>
<script src="userData.js"></script>
<body>
<p align="center">wupin_idNotEvent[1].xml会保存在C:\Documents and Settings\Administrator\UserData下面的随机文件夹中,</p>
<select id="wupin_idNotEvent" name="wupin_id" >
<option value="0" selected>请选择您要使用的设备类型</option>
<option value="001">虹光扫描仪FB2600B</option>
<option value="002">虹光扫描仪AW800</option>
<option value="003">虹光扫描仪AW1000</option>
<option value="004">虹光扫描仪AV210C2</option>
</select>
<script>
//在用户点中除(请选择项 外的option时,保存用户选中的值)
var obj=document.getElementById("wupin_idNotEvent");
var filename="wupin_idNotEvent";//wupin_idNotEvent[1].xml
var defaultIndex="0";
var defauleValue="请选择您要使用的设备类型";
//添加onchange事件
obj.attachEvent('onchange',saveSelectedIndex);
//保存用户选中的值(第一行除外)
function saveSelectedIndex(){
if(obj.options[obj.selectedIndex].value!="0"){
//obj.setAttribute("sSelectIndex",obj.selectedIndex);
//obj.setAttribute("sSelectValue",obj.options[obj.selectedIndex].value);
SaveUserData("sSelectIndex", filename, obj.selectedIndex);
SaveUserData("sSelectValue", filename, obj.options[obj.selectedIndex].value);
alert("write ok");
}
}
//从userdata中 默认加载用户最后一次选择的值
window.attachEvent('onload',loadSelectedIndex)
function loadSelectedIndex(){
var str = LoadUserData("sSelectIndex", filename)
var str2 = LoadUserData("sSelectValue", filename)
//加载时如果为空就先保存
if (str == "") {
SaveUserData("sSelectIndex", filename, "0");
SaveUserData("sSelectValue", filename, "请选择您要使用的设备类型");
}
//取userdata中的值
var selectindex=LoadUserData("sSelectIndex", filename);
var selectvalue= LoadUserData("sSelectValue", filename);
//var fpdm = LoadUserData("sSelectValue", filename);
// 循环,重新创建select,判断新的select是否有XML保存的 项。
var s = document.getElementById("wupin_idNotEvent"); //获取select标记
var ops= s.options; //获取对select标记options的引用
//有了才加载
for(var i=0; i<s.length; i++){
if(selectvalue==ops[i].value && ops[i].value!="请选择您要使用的设备类型"){
alert("加载上一次 的为选中状态");
obj.options[selectindex].selected=true;
}
}
}
</script>
</body>
</html>
我项目中使用userData的实例 UserData.js的更多相关文章
- 非web项目中使用XDT的实例(续)
简化 上个实例中,我们是引用了target文件来遍历项目中的xdt项. 当项目比较小,我们又只需要针对固定的config文件进行更替时,可以使用更简化的方法 不进行项目配置文件中的插入<Impo ...
- 如何在我们项目中利用开源的图表(js chart)
最近觉得应该把自己在技术上的一些心得记录在博客里面跟大家分享,一起讨论,一起成长! 这篇随笔主要为介绍chart在项目中的运用,因为在我们看到一些开源的chart时候,是使 ...
- vue项目中 如何让外部引入的js模块 的this值 指向vue实例
当前是vue项目,想在tool.js(工具模块)中封装一个跳转页面的方法, goToUrl(name,query){ if(query){ if(query.addressCode){ vueObje ...
- 在java项目中使用log4j的实例
测试log4j的项目结构 Log4j.properties的路径为 src/config/log4j Log4j.properties文件的内容 下面定义日志输出级别是 INFO,并且配置了2个 ...
- java项目中rmi远程调用实例
1.创建一个学生实体类Student.java: package com.RMIdemo.entity; @SuppressWarnings("serial") public cl ...
- 解决wpf项目中无法添加OpenFileDialog 实例的问题
直接添加引用:using Microsoft.Win32; 或者放置鼠标于OpenFileDialog OpenFileDialog ofd = new OpenFileDialog(); 操作点击
- vue项目中引入animate.css和wow.js
本文转自:https://blog.csdn.net/liyunkun888/article/details/85003152 https://www.zhuimengzhu.com/content/ ...
- SpringBoot项目中使用Bootstrap 的CSS、JS资源
首先 需要在 application.properties 文件中添加这句 spring.mvc.static-path-pattern=/** 不然是使用不了的 还有一种办法就是 使用bootstr ...
- Vue项目中导入excel文件读取成js数组
1. 安装组件 cnpm install xlsx --save 2. 代码 <template> <span> <input class="input-fil ...
随机推荐
- 用 Python 带你看《我不是药神》
我们都是小人物,我们都得了同一种病,我们都穷.——<我不是药神> 我不是程序员 我就是想求求你们,别动不动就拿篇10W+的文章来吓唬人好吗?说点有用的东西好吗?我们需要精神粮食不需要腐蚀精 ...
- UWP 应用程序名称本地化以及商店显示名称本地化
大家应该都知道,在做多语言的时候,我们一般会让App名字也会随着语言变化而本地化. 比如我的App微识别 https://www.microsoft.com/store/productId/9PDSN ...
- HTML5上的LocalStorage基本用法
1.获取localStorage的长度:window.localStorage.length 2.添加/编辑localStorage的内容:window.localStorage.setItem(键, ...
- Error! Failed to install react, react-dom, next, try again.
问题:用create-next-app创建应用报错,部分模块没有安装,react.react-dom.next等模块安装失败,如下图所示 操作环境: 系统:Ubuntu 16.04.4 LTS npm ...
- 旧的 .NET Core 项目重新打包出现提示版本不对问题
错误提示 当电脑更新 VS2017 版本后,如果同时有新的 .NET Core SDK 更新,打开旧的项目重新打包,可能会报这样的错误 NETSDK1061: 项目是使用 Microsoft.NETC ...
- Python之面向对象-反射
一.什么是反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问,检测和修改它本省状态或行为的一种能力(自省).这一概念的提出很快引发了计算机科学领域关于应用反射性的研究.它首先被 ...
- elementUI实现前端分页
按照他的文档来写分页,最主要的是el-table里面展示的数据怎么处理 <el-table :data="AllCommodityList.slice((currentPage-1)* ...
- Linux Ubuntu 安装、汉化、常用操作
一.安装Ubuntu Desktop 安装前准备 现在的PC机都可以满足要求. 软件准备 vmware:http://www.vmware.com/cn ubuntu:18ubuntu Desktop ...
- PHPCMS V9 二次开发常用代码集
0:调用最新文章,带所在版块 {pc:get sql="SELECT a.title, a.catid, b.catid, b.catname, a.url as turl ,b.url a ...
- 回顾下TCP/IP协议
首先要知道什么是TCP/IP协议,从字面意思来看TCP是“Transmission Control Protocol”的缩写,也就是传输控制协议.IP是“Internet Protocol”的缩写,即 ...