站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Javascript 专题巧用JavaScript四例

巧用JavaScript四例

摘要: 巧用JavaScript四例

一、 读 取 客 户 端 屏 幕 设 置 信 息

---- 众 所 周 知, 主 页 的 浏 览 效 果 与 客 户 端 使 用 的 浏 览 器 以 及 屏 幕 区 域 设 置 有 很 大 关 系。 正 因 为 如 此, 许 多 页 面 都 标 明 了 建 议 使 用 × × 浏 览 器, ×* × 屏 幕 设 置 浏 览 本 页。 了 解JavaScript 的 人 都 知 道, 客 户 端 浏 览 器 信 息 可 以 用JavaScript 中navigator 对 象 来 检 测。 其 实, 屏 幕 区 域 的 设 置 在JavaScript 中 也 可 以 用screen 对 象 来 检 测。

---- 例 如, 在 下 面 的 程 序 中,JavaScript 检 测 屏 幕 设 置, 据 此 转 向 不 同 效 果 的 页 面。

< script language=JavaScript >
< !---
if (screen.width >=800){
parent.location.href=bigscreen.htm;
} else
parent.location.href=smallscreen.htm;
//-- >
< /script >

二、 自 动 更 新 网 页 背 景 音 乐

---- 更 新 及 时 的 主 页 才 能 保 持 对 访 问 者 吸 引 力。 如 果 你 在 网 页 中 加 入 了 背 景 音 乐, 但 又 不 想 让 访 问 者 反 复 听 同 一 首 音 乐 的 话, 用JavaScript 编 一 个 动 态 主 页 随 机 播 放 背 景 音 乐 是 一 种 办 法。 不 过 在 这 里 我 们 采 用 另 一 种 办 法, 用cookies 记 录 访 问 者 游 览 该 页 的 次 数, 根 据 对 该 网 页 的 访 问 次 数 提 供 不 同 的 背 景 音 乐。

---- ( 对cookies, 本 文 不 作 详 细 讨 论, 如 对 它 不 熟 悉, 请 参 考 有 关 书 刊)

< script language= JavaScript
> <
!-- // 创 建 一
个cookie function
setCookie(name,value,expires){document.cookie=name+=
+escape(value)+;+expires=+expires+;
}
// 访 问cookie
function getCookieVal(offset){
var endstr=document.cookie.indexOf(;,offset);
if (endstr==-1)
endstr=
document.cookie.length; return
unescape(document.cookie.substring(offset,endstr));
} function
getCookie(name){ vararg=name+=;
var alength=arg.length;
var clength=document.cookie.length;
var i=0;
while(i< clength){
var j=i+alength;
if (document.cookie.substring(i,j)==arg)
return getCookieVal(j);
i=document.cookie.indexOf( ,i)+1;
if(i==0) break;
}
return null;
}
// 以 下 内 容 可 根 据 实 际 需 要 更 改
var exptime=new Date();
exptime.setTime(exptime.getTime()+3600*1000*24*3);
//设置cookies在客户机上保存3天(3*24*1000*3600毫秒)。
i=getCookie(vtime);
if ((i==null)||(i >5)) i=0;
// 假设共6支背景乐曲0.mid ,……5.mi d
string midsrc=i+.mid;
document.writeln(< bgsound src=+midsrc+ loop=-1 >);
i=++i;
setCookie(vtime,i,exptime);
< /script >

三、 为 电 子 邮 件 反 馈 表 单 建 立 响 应 页 面

---- 在 主 页 中 建 立 反 馈 页 面, 其 益 处 是 显 而 易 见 的。 不 过, 如 果 是 个 人 网 页 而 不 能 使 用CGI 的 话, 就 只 能 建 立 以 邮 件 方 式 传 送 的 表 单 了。 然 而, 我 们 都 有 这 样 的 经 验, 一 般 的CGI 反 馈 表 单, 在 提 交 之 后, 总 会 由CGI 程 序 控 制 传 输 一 个 新 的 写 着 你 的 信 息 已 经 收 到 … … 的 确 认 页 面。 其 实, 对 邮 件 表 单, 我 们 也 可 以 用JavaScript 来 模 拟 这 样 的 响 应 页 面。

---- 例 如, 下 面 一 段 程 序, 在 点 击 提 交 后, 浏 览 器 自 动 调 入 确 认 页 面accepted.htm。

< form method=post action=
mailto:someone@company.com ENYTYPE=text/plain >
Your name: < input type=text name=username >
< input type=submit onBlur=response() value= 提 交 >
< input type=reset value= 重 置 >
< script language=JavaScript >
< !--
function response(){
location.href=accepted.htm;
} //-- >
< /script >
< /form >

四、 控 制 滚 动 条

---- JavaScript 对 浏 览 器 各 层 次 对 象 提 供 了 丰 富 的 控 制 手 段。 比 如, 通 过window 对 象 的 方 法scroll(x,y), 我 们 能 控 制 窗 口 滚 动 条 移 动 到 指 定 的 位 置。

---- 例 如, 下 面 的scrollwin() 程 序 实 现 垂 直 滚 动 条 的 自 动 下 移。

< script language=Javascript >
< !---
function scrollwin(){
if (y==600) scroll(0,0);
else{
y++;
self.scroll(0,y);
clearTimeout(timer);
var timer=setTimeout(scrollscreen(),100);
}
}
var y=0;
document.fgColor=0xff0000;
for(i=0;i< 40;i++) document.writeln(i+< br >);
scrollscreen();
//--- >
< /script >


↑返回目录
前一篇: JavaScript:完全容错和浏览器自动最大化
后一篇: 如何打开一个自定义大小的窗口