window对象下面的几个常用子对象:
1. document:文档对象
2. history:历史对象,返回上一步,跳转过来之前的页面
返回前一个页面:history.back() 或者:history.go(-1) ;
返回前两个页面:history.go(-2);
3. location: 位置对象,跳转位置。
这里先总结下页面跳转的几种不同方法:
(1)HTML实现跳转:
<meta http-equiv ="refresh" content="3 ; url="http://www.baidu.com" > // 3秒钟跳转到该页面
若不加URL,则是间隔3秒刷新本页面。
(2)PHP实现跳转:
header(“Location:login.php”) ; // 跳转至login.php页面
要注意的是:
① location和“:”号间不能有空格,否则会出错。
② 在用header前不能有任何的输出。
③ header后的PHP代码还会被执行。
(3)Javascript实现跳转:
使用JS跳转时前面可以有输出。
① 通过window对象的navigate( ):window.navigate(url);
② 通过location对象的href属性:location.href=url; //火狐IE可能不兼容
③ * 最简单,一条语句即可实现跳转:location='xxx.html' //推荐使用,好记,浏览器兼容
④ 通过location对象的replace( ):location.replace(url); // 将当前文档替换成新内容,和重定向有区别,重定向
之前的url会保存在历史记录中,可以后退,而用replace不能后退找到之前文档。
* 如果只是刷新本页面,除之前说的用meta之外,还可以使用location对象的方法——reload( ):
例:setTimeout( function(){ location.reload(); //参数可以加true,也可不加参数} , 3000 );
4. screen:屏幕对象,屏幕实际高度、宽度,可用高度、宽度
with (document) {
write ("您的屏幕显示设定值如下:<P>");
write ("屏幕的实际高度为", screen.availHeight, "<BR>");
write ("屏幕的实际宽度为", screen.availWidth, "<BR>");
write ("屏幕的色盘深度为", screen.colorDepth, "<BR>");
write ("屏幕区域的高度为", screen.height, "<BR>");
write ("屏幕区域的宽度为", screen.width);
}
5. clipboardData:剪切板对象,常用与点击复制一段内容到剪切板上。
<script>
var one=document.getElementById("one") ;
function copyc(){
var content = one.innerText;
window.clipboardData.setData("Text",content); //关键
}
</script>
以下为IE、火狐、谷歌都兼容的剪贴板程序:
<script>
function copyToClipboard(txt) {
if (window.clipboardData) {
window.clipboardData.clearData();
window.clipboardData.setData("Text", txt);
alert("复制成功!")
} else if (navigator.userAgent.indexOf("Opera") != -1) {
window.location = txt;
alert("复制成功!");
} else if (window.netscape) {
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
} catch (e) {
alert("被浏览器拒绝!\n请在浏览器地址栏输入'about:config'并回车\n然后将 'signed.applets.codebase_principal_support'设置为'true'");}
var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
if (!clip)
return;
var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
if (!trans)
return;
trans.addDataFlavor('text/unicode');
var str = new Object();
var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
var copytext = txt;
str.data = copytext;
trans.setTransferData("text/unicode", str, copytext.length * 2);
var clipid = Components.interfaces.nsIClipboard;
if (!clip)
return false;
clip.setData(trans, null, clipid.kGlobalClipboard);
alert("复制成功!")
}else if(copy){
copy(txt);
alert("复制成功!")
}
}
</script>