设为首页、添加到收藏夹、更改地址栏前小图标、按下回车键事件、关闭窗口
2012-04-23 17:43
381 查看
var url = window.location.href;
var name = "javaeye";
/**
* 设为首页
*/
function setHomepage(){
if(document.all){
document.body.style.behavior='url(#default#homepage)';
document.body.setHomePage(url);
}else if (window.sidebar){
if(window.netscape){
try{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
}catch (e){
alert( "该操作被浏览器拒绝,如果想启用该功能,请在地址栏内输入 about:config,然后将项 signed.applets.codebase_principal_support 值该为true" );
return false;
}
}
var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components. interfaces.nsIPrefBranch);
prefs.setCharPref('browser.startup.homepage',url);
}
}
/**
* 加入收藏夹
*/
function addCookie(){
if (document.all){
window.external.addFavorite(url,name);
}else if (window.sidebar){
window.sidebar.addPanel(name, url, "");
}
}
Html代码
<!-- 地址栏前添加自定义小图标16*16 -->
<link rel="shortcut icon" href="favicon.ico" />
需要将favicon.ico图片放在WebRoot/favicon.ico目录下;
Js代码
按下回车键的事件
document.onkeydown = function(e){
var ev = e || window.event;
if(ev.keyCode==13||ev.which==13){
//这里是按下回车键的事件
}
}
Js代码
以下两种方式等效,都是单击事件调用closeWin()方法
方式一:
document.getElementById('exitSys').onclick = closeWin;
或方式二:
document.getElementById('exitSys').onclick = function(){
closeWin();
}
function closeWin(){//关闭窗口
window.opener = null;
window.open('','_self');
window.close();
}
注意:window.close()方法讲解:
对于用js代码打开的窗口,是没有关闭提示信息的;
但是对于原生窗口(即你直接打开的窗口),就会有提示信息,此时想没有提示信息,做法是:
window.opener = null;
window.open('','_self');
window.close();
在firefox中,window.close()默认不能关闭用户直接打开的窗口(firefox中对于直接打开的窗口window.close是无效的)。
有frameset或者iframe的页面时,parent是父窗口,top是最顶级父窗口(有的窗口中套了好几层frameset或者iframe);
self是当前窗口,自引用属性,是对当前window对象的引用,与window属性同义.
opener是对打开当前窗口的window对象的引用,如果当前窗口被用户打开,则它的值为null.
open动作完成后将opener设置为空,也就是window.opener=null,但是那也没说它有关闭窗口时不提示这么个用法啊。子窗口(通过js生成的窗口)是不需要把window.opener设置为空也可以无提示自动关闭的,但父窗口(原生窗口)必须有这一句。关于window.opener在无提示关闭窗口的作用,是不是可以这么解释:浏览器认为子窗口与父窗口的优先级是不同的,子窗口可以随意关闭而父窗口可能有比较重要的内容而需要用户同意才可以关闭;当window.opener=null的时候,父窗口失去了原来的优先级,被浏览器认为是一个普通的窗口,所以可以象子窗口一样不需要提示而自动关闭了。
利用iframe来做无刷新上传:
要实现文件上传,form必须设置几个属性:
1.action:设为要处理数据的页面地址;
2.method:设为"post";
3.enctype/encoding:必须设为"multipart/form-data",这里要注意的是在ie中用js修改form的enctype属性是没有效果的,只能修改encoding;
4.把form的target设为iframe的name;
iframe实现无刷新上传的原理:利用form的target属性,把数据提交到页面中一个(通常为隐藏的)iframe上。直观点说就是把“刷新”留给iframe。
其实原理跟一般用iframe实现无刷新提交表单是一样的,只是这里换成是文件。
这里关键就是把form的target设为iframe的name
FORM元素的enctype属性指定了表单数据向服务器提交时所采用的编码类型,默认的缺省值是“application/x-www-form-urlencoded”。
然而,在向服务器发送大量的文本、包含非ASCII字符的文本或二进制数据时这种编码方式效率很低。
在文件上传时,所使用的编码类型应当是“multipart/form-data”,它既可以发送文本数据,也支持二进制数据上载。
Browser端<form>表单的ENCTYPE属性值为multipart/form-data,它告诉我们传输的数据要用到多媒体传输协议,由于多媒体传输的都是大量的数据,所以规定上传文件必须是post方法,<input>的type属性必须是file
相关文章推荐
- swt为关闭窗口添加确认事件
- 设为首页&&加入收藏夹&&禁止复制&&地址栏显示自己的图标&&去掉超链接的下划线&&jsp页面调用在线播放器
- MFC给子窗口添加图标和子窗口自动关闭
- PyQt5 - 02 对closeEvent()重写,添加关闭窗口触发的事件
- java坦克大战0.2(添加关闭窗口的事件处理)
- 在收藏夹和地址栏前面添加ICON图标
- 添加到收藏夹和设为首页代码
- juqery给按钮添加回车事件
- Coolite TextField添加回车事件
- 7.1在窗口(宽300,高200)中添加一个面板,面板的背景色为绿色,窗口在屏幕中央,不允许改变其大小,关闭窗口时程序结束运行
- ionic开发——百度地图InfoWindow信息窗口上添加按钮,无法触发点击事件问题解决办法
- 输入框中的添加回车事件
- js添加多个窗口监听事件
- shell窗口关闭事件
- QT Creator入门——笔记2—— 给窗口添加图标和应用程序添加图标
- JavaScript 捕获窗口关闭事件
- 如何运用onunload事件判断浏览器是刷新还是关闭窗口
- Silverlight中文本框添加回车事件后,换行无法清除的解决方法
- 在父窗口中得知 window.open()出的子窗口关闭事件的方法(定时器实现)
- [Selenium]通过Selenium实现在当前浏览器窗口点击一个图标之后,弹出另外一个窗口,关闭这个窗口,再回到原来的窗口进行操作