js控制窗口
JS 控制IE窗口
<body onselectstart="return false"> 取消选取、防止复制
<noscript><iframe src=*.html></iframe></noscript> 网页将不能被另存为
<link rel="Shortcut Icon" href="favicon.ico"> IE地址栏前换成自己的图标
<link rel="Bookmark" href="favicon.ico"> 可以在收藏夹中显示出你的图标
<noscript><iframe src=*.html></iframe></noscript> 网页将不能被另存为
<link rel="Shortcut Icon" href="favicon.ico"> IE地址栏前换成自己的图标
<link rel="Bookmark" href="favicon.ico"> 可以在收藏夹中显示出你的图标
HTML和服务器端的控件都可以用
onpaste="return false" 不准粘贴
oncopy="return false;" oncut="return false;" 防止复制
<input style="ime-mode:disabled"> 关闭输入法
onpaste="return false" 不准粘贴
oncopy="return false;" oncut="return false;" 防止复制
<input style="ime-mode:disabled"> 关闭输入法
模仿IE
<object id=hh1 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">
<param name="Command" value="Minimize"></object>
<object id=hh2 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">
<param name="Command" value="Maximize"></object>
<OBJECT id=hh3 classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
<PARAM NAME="Command" VALUE="Close"></OBJECT>
<input type=button value=最小化 onclick=hh1.Click()>
<input type=button value=最大化 onclick=hh2.Click()>
<input type=button value=关闭 onclick=hh3.Click()>
<object id=hh1 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">
<param name="Command" value="Minimize"></object>
<object id=hh2 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">
<param name="Command" value="Maximize"></object>
<OBJECT id=hh3 classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
<PARAM NAME="Command" VALUE="Close"></OBJECT>
<input type=button value=最小化 onclick=hh1.Click()>
<input type=button value=最大化 onclick=hh2.Click()>
<input type=button value=关闭 onclick=hh3.Click()>
//禁止鼠标右键
<script language=JavaScript>
<!--
var message="";
///////////////////////////////////
function clickIE() {if (document.all) {(message);return false;}}
function clickNS(e) {if
(document.layers||(document.getElementById&&!document.all)) {
if (e.which==2||e.which==3) {(message);return false;}}}
if (document.layers)
{document.captureEvents(Event.MOUSEDOWN);document.onmousedown=clickNS;}
else{document.onmouseup=clickNS;document.oncontextmenu=clickIE;}
document.oncontextmenu=new Function("return false")
// -->
</script>
<script language=JavaScript>
<!--
var message="";
///////////////////////////////////
function clickIE() {if (document.all) {(message);return false;}}
function clickNS(e) {if
(document.layers||(document.getElementById&&!document.all)) {
if (e.which==2||e.which==3) {(message);return false;}}}
if (document.layers)
{document.captureEvents(Event.MOUSEDOWN);document.onmousedown=clickNS;}
else{document.onmouseup=clickNS;document.oncontextmenu=clickIE;}
document.oncontextmenu=new Function("return false")
// -->
</script>
弹出窗口
<a href="#" onclick='Javascript:window.open("test.aspx","newwin","height=200,width=400,top=500,left=500 ,status=yes,toolbar=no,menubar=no,location=no")'>无地址栏的窗口</a>
<a href="#" onclick='Javascript:window.open("test.aspx","newwin","height=200,width=400,top=500,left=500 ,status=yes,toolbar=no,menubar=no,location=no")'>无地址栏的窗口</a>
禁止输入特殊字符正则表达试:
^(?:[\u4e00-\u9fa5]*\w*\s*)+$
^(?:[\u4e00-\u9fa5]*\w*\s*)+$
过虑非法字符的函数:
public string CheckStr(string str)
{
str = str.Replace("<", "<");
str = str.Replace(">", ">");
str = str.Replace("'", "''");
str = str.Replace(" ", " ");
str = str.Replace("\n", "<br/>");
str = str.Replace("\r\n", "<br/>");
str = str.Trim();
return str;
}
public string CheckStr(string str)
{
str = str.Replace("<", "<");
str = str.Replace(">", ">");
str = str.Replace("'", "''");
str = str.Replace(" ", " ");
str = str.Replace("\n", "<br/>");
str = str.Replace("\r\n", "<br/>");
str = str.Trim();
return str;
}
(转)IE浏览器的菜单栏和工具栏原理
前一部分就是曾经登载过的『玩转弹出窗口』
一种没有边框及菜单栏、工具栏、地址栏、状态栏等的无边框窗口(CW)曾经一度很流行,被很多网站尤其是个人网站所采用,CW也有现成的源码供网友们使用,但是最初的CW使用起来很不方便,有两个JS文件,还要设置一些参数,这对一些初学者来讲是很困难的事情。所以我就有了一个想法:重新写一个全新的无边框窗口,只用一个函数实现,以供网友方便使用。
前一部分就是曾经登载过的『玩转弹出窗口』
一种没有边框及菜单栏、工具栏、地址栏、状态栏等的无边框窗口(CW)曾经一度很流行,被很多网站尤其是个人网站所采用,CW也有现成的源码供网友们使用,但是最初的CW使用起来很不方便,有两个JS文件,还要设置一些参数,这对一些初学者来讲是很困难的事情。所以我就有了一个想法:重新写一个全新的无边框窗口,只用一个函数实现,以供网友方便使用。
我给这个全新的无边框窗口起名为NBW,NBW即No Border Window的缩写,只是想区别于CW。这个无边框窗口可以随意拖动、最小化、关闭等等,不仅在IE5/IE6中测试通过,在腾讯的TE中测试也没有问题。
调用的过程如下:(noBorderWin函数是事先定义好的,后面会对函数的实现过程进行分析)
noBorderWin(fileName,w,h,titleBg,moveBg,titleColor,titleWord,scr)
各参数的说明如下:
fileName :要打开的文件。
w :窗口的宽度(px)。
h :窗口的高度(px)。
titleBg :窗口“标题栏”的背景色以及窗口边框颜色。
moveBg :拖动窗口时“标题栏”的背景色以及窗口边框颜色。
titleColor:窗口“标题栏”文字的颜色。
titleWord :窗口“标题栏”中显示的文字。
scr :窗口中是否出现滚动条。取值yes/no或者1/0。
fileName :要打开的文件。
w :窗口的宽度(px)。
h :窗口的高度(px)。
titleBg :窗口“标题栏”的背景色以及窗口边框颜色。
moveBg :拖动窗口时“标题栏”的背景色以及窗口边框颜色。
titleColor:窗口“标题栏”文字的颜色。
titleWord :窗口“标题栏”中显示的文字。
scr :窗口中是否出现滚动条。取值yes/no或者1/0。
我们看到,窗口样式全部在函数的参数中设置,从而保证了使用的便捷。比如,上面例子的代码如下:
<a href=#none onclick=noBorderWin('test.html','400','240','#000000','#333333','#CCCCCC', '一个无边窗口的测试例子','yes');>点击此处将弹出NBW窗口</a>
<a href=#none onclick=noBorderWin('test.html','400','240','#000000','#333333','#CCCCCC', '一个无边窗口的测试例子','yes');>点击此处将弹出NBW窗口</a>
如何使用已经说完了,那么,这个函数具体是如何实现的呢?下面,我们就以直接给出源码并加以注释的方式进行讲解。为了容易区分阅读,代码部分使用灰色,注释部分使用红色。
代码和注释如下:
//--------------------------------------------------------------------------------------------------
<script language=javascript>
//*****定制NBW窗口中几个用到的图片的路径*****
minimizebar="minimize.gif"; //窗口右上角最小化“按钮”的图片
minimizebar2="minimize2.gif"; //鼠标悬停时最小化“按钮”的图片
closebar="close.gif"; //窗口右上角关闭“按钮”的图片
closebar2="close2.gif"; //鼠标悬停时关闭“按钮”的图片
icon="icon.gif"; //窗口左上角的小图标
//***************定制结束*****************
//--------------------------------------------------------------------------------------------------
<script language=javascript>
//*****定制NBW窗口中几个用到的图片的路径*****
minimizebar="minimize.gif"; //窗口右上角最小化“按钮”的图片
minimizebar2="minimize2.gif"; //鼠标悬停时最小化“按钮”的图片
closebar="close.gif"; //窗口右上角关闭“按钮”的图片
closebar2="close2.gif"; //鼠标悬停时关闭“按钮”的图片
icon="icon.gif"; //窗口左上角的小图标
//***************定制结束*****************
//*******开始定义noBorderWin()函数********
function noBorderWin(fileName,w,h,titleBg,moveBg,titleColor,titleWord,scr)
{
var contents="<html>"+ //变量contents是一个字符串变量,它是NBW窗口中的所有代码。
"<head>"+
"<title>"+titleWord+"</title>"+
"<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\">"+
" <object id=hhctrl type='application/x-oleobject' classid='clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11'><param name='Command' value='minimize'></object>"+ //注意这一句,是实现窗口的最小化的关键。在后面,将通过hhctrl.Click()来实现最小化。
"</head>"+
" <body topmargin=0 leftmargin=0 scroll=no onselectstart='return false' ondragstart='return false'>"+ //为了使窗口更加逼真,在这一句中,屏弊了拖拽事件和选取事件。
" <table height=100% width=100% cellpadding=0 cellspacing=1 bgcolor="+titleBg+" id=mainTab>"+
" <tr height=18 style=cursor:default; onmousedown='x=event.x;y=event.y;setCapture();mainTab.bgColor=\""+moveBg+"\";' onmouseup='releaseCapture();mainTab.bgColor=\""+titleBg+"\";' onmousemove='if(event.button==1)self.moveTo(screenLeft+event.x-x,screenTop +event.y-y);'>"+ //在这一句中,实现了NBW窗口的任意拖拽,注意onmousedown、onmouseup和onmousemove时都“发生”了什么,仔细体会其过程。
" <td width=18 align=center><img height=12 width=12 border=0 src="+icon+"></td>"+
" <td width="+w+"><span style=font-size:12px;color:"+titleColor+";font-family:宋体;position: relative;top:1px;>"+titleWord+"</span></td>"+ //以上两句,将小图标和标题栏的文字写入。
" <td width=14><img border=0 width=12 height=12 alt=最小化 src="+minimizebar+" onmousedown=hhctrl.Click(); onmouseover=this.src='"+minimizebar2+"' onmouseout=this.src='"+minimizebar+"'></td>"+ //通过前面提到的方法实现了窗口最小化按钮的功能。
" <td width=13><img border=0 width=12 height=12 alt=关闭 src="+closebar+" onmousedown=self.close(); onmouseover=this.src='"+closebar2+"' onmouseout=this.src='"+closebar+"'></td>"+ //实现窗口关闭按钮的功能。
" </tr>"+
" <tr height=*>"+
" <td colspan=4>"+
" <iframe name=nbw_v6_iframe src="+fileName+" scrolling="+scr+" width=100% height=100% frameborder=0></iframe>"+ //在这一句中,将你要打开的文件写到iframe中。
" </td>"+
" </tr>"+
" </table>"+
"</body>"+
"</html>";
//至此,已经定义完contents变量,在后面,我们将看到:它被写入到NBW窗口中去。
function noBorderWin(fileName,w,h,titleBg,moveBg,titleColor,titleWord,scr)
{
var contents="<html>"+ //变量contents是一个字符串变量,它是NBW窗口中的所有代码。
"<head>"+
"<title>"+titleWord+"</title>"+
"<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\">"+
" <object id=hhctrl type='application/x-oleobject' classid='clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11'><param name='Command' value='minimize'></object>"+ //注意这一句,是实现窗口的最小化的关键。在后面,将通过hhctrl.Click()来实现最小化。
"</head>"+
" <body topmargin=0 leftmargin=0 scroll=no onselectstart='return false' ondragstart='return false'>"+ //为了使窗口更加逼真,在这一句中,屏弊了拖拽事件和选取事件。
" <table height=100% width=100% cellpadding=0 cellspacing=1 bgcolor="+titleBg+" id=mainTab>"+
" <tr height=18 style=cursor:default; onmousedown='x=event.x;y=event.y;setCapture();mainTab.bgColor=\""+moveBg+"\";' onmouseup='releaseCapture();mainTab.bgColor=\""+titleBg+"\";' onmousemove='if(event.button==1)self.moveTo(screenLeft+event.x-x,screenTop +event.y-y);'>"+ //在这一句中,实现了NBW窗口的任意拖拽,注意onmousedown、onmouseup和onmousemove时都“发生”了什么,仔细体会其过程。
" <td width=18 align=center><img height=12 width=12 border=0 src="+icon+"></td>"+
" <td width="+w+"><span style=font-size:12px;color:"+titleColor+";font-family:宋体;position: relative;top:1px;>"+titleWord+"</span></td>"+ //以上两句,将小图标和标题栏的文字写入。
" <td width=14><img border=0 width=12 height=12 alt=最小化 src="+minimizebar+" onmousedown=hhctrl.Click(); onmouseover=this.src='"+minimizebar2+"' onmouseout=this.src='"+minimizebar+"'></td>"+ //通过前面提到的方法实现了窗口最小化按钮的功能。
" <td width=13><img border=0 width=12 height=12 alt=关闭 src="+closebar+" onmousedown=self.close(); onmouseover=this.src='"+closebar2+"' onmouseout=this.src='"+closebar+"'></td>"+ //实现窗口关闭按钮的功能。
" </tr>"+
" <tr height=*>"+
" <td colspan=4>"+
" <iframe name=nbw_v6_iframe src="+fileName+" scrolling="+scr+" width=100% height=100% frameborder=0></iframe>"+ //在这一句中,将你要打开的文件写到iframe中。
" </td>"+
" </tr>"+
" </table>"+
"</body>"+
"</html>";
//至此,已经定义完contents变量,在后面,我们将看到:它被写入到NBW窗口中去。
pop=window.open("","_blank","fullscreen=yes"); //打开一个全屏窗口。
pop.resizeTo(w,h); //用resize()方法将窗口定制成自己想要的大小。
pop.moveTo((screen.width-w)/2,(screen.height-h)/2); //用moveTo()方法将窗口移到屏幕中心。
pop.document.writeln(contents); //将窗口内容(即变量contents)写进去。
pop.resizeTo(w,h); //用resize()方法将窗口定制成自己想要的大小。
pop.moveTo((screen.width-w)/2,(screen.height-h)/2); //用moveTo()方法将窗口移到屏幕中心。
pop.document.writeln(contents); //将窗口内容(即变量contents)写进去。
// 至此,或许你认为它应该结束了。的确,在IE中,它的确已经结束了,但是在使用了IE内核的多窗口浏览器(比如腾讯的TE)中,一般 window.open()是不会弹出新窗口的,而是出现在它的“多窗口”中的一个窗口,所以,后面的代码我们将通过窗口大小来判断NBW窗口是否是独立的窗口,如果不是,我们将使用showModalDialog()对话框做为一个过渡,重新“弹”出一个独立的窗口。
if(pop.document.body.clientWidth!=w||pop.document.body.clientHeight!=h) //通过判断NBW窗口的实际大小来判断NBW是否真正是一个独立的窗口。如果不是,将运行后面的语句。
{
temp=window.open("","nbw_v6");
temp.close(); //上面两句的功能是如果原来有name=nbw_v6的窗口,则将其关闭。
window.showModalDialog ("about:<"+"script language=javascript>window.open('','nbw_v6','fullscreen=yes'); window.close();"+"</"+"script>","","dialogWidth:0px;dialogHeight:0px"); //弹出一个对话框,再从对话框中弹出一个name=nbw_v6的全屏窗口,注意这时的窗口肯定是独立的窗口了。
pop2=window.open("","nbw_v6"); //弹出一个name=nbw_v6的窗口,因为前面弹出过一个name=nbw_v6的全屏窗口,所以这一次的窗口只是在那个窗口中刷新了一下,而通过这样一个过程则把那个窗口赋给了变量pop2。
pop2.resizeTo(w,h); //用resize()方法将窗口定制成自己想要的大小。
pop2.moveTo((screen.width-w)/2,(screen.height-h)/2); //用moveTo()方法将窗口移到屏幕中心。
pop2.document.writeln(contents); //将窗口内容(即变量contents)写进去。
pop.close(); //将原来没有真正“弹”出来的窗口关掉。
}
{
temp=window.open("","nbw_v6");
temp.close(); //上面两句的功能是如果原来有name=nbw_v6的窗口,则将其关闭。
window.showModalDialog ("about:<"+"script language=javascript>window.open('','nbw_v6','fullscreen=yes'); window.close();"+"</"+"script>","","dialogWidth:0px;dialogHeight:0px"); //弹出一个对话框,再从对话框中弹出一个name=nbw_v6的全屏窗口,注意这时的窗口肯定是独立的窗口了。
pop2=window.open("","nbw_v6"); //弹出一个name=nbw_v6的窗口,因为前面弹出过一个name=nbw_v6的全屏窗口,所以这一次的窗口只是在那个窗口中刷新了一下,而通过这样一个过程则把那个窗口赋给了变量pop2。
pop2.resizeTo(w,h); //用resize()方法将窗口定制成自己想要的大小。
pop2.moveTo((screen.width-w)/2,(screen.height-h)/2); //用moveTo()方法将窗口移到屏幕中心。
pop2.document.writeln(contents); //将窗口内容(即变量contents)写进去。
pop.close(); //将原来没有真正“弹”出来的窗口关掉。
}