Home  >  Article  >  Web Front-end  >  JavaScript manipulates browser windows

JavaScript manipulates browser windows

高洛峰
高洛峰Original
2016-11-26 09:35:171076browse

 窗口是Web浏览器中最重要的界面元素,JavaScript提供了许多操作窗口的工具,JavaScript处理窗口的方式与处理框架很相似(因为框架是位于总浏览器窗口中的文档窗口)。
      今天学习了如何使用JavaScript打开关闭,更新和定位窗口,如何使用JavaScript将信息写入窗口,从而可以在运行时构建网页。
      (一)打开新窗口
[html]
 
   
    Open a Window 
     
   
   
   
    

The Master of the House

 
    

Click on his name to behold he who must be adored

 
    

   
 

(二)打开多个窗口
[html]
 
 
    About that Cat 
       
 
 
   

More pictures of our cat

 
   

 
 

(三)关闭窗口
[html]
 
 
    Window Test 
       
 
 
   

 
 
 

(四)把窗口放在指定位置
[html]
 
 
    Window Test 
       
 
 
   

 
 
 

The js scripts required for the above four operations are as follows:
[javascript]
/**
* Open new window (script1.js)
*/
window.onload=newWinLinks;

function newWinLinks(){
for(var i=0; i                                                                                                                                                                                  newWindow(){
var catWindow=window.open("images/pixel1.jpg", "catWin", "resizable=no,width=350,height=260");
//Pay attention to the width and height parameters There cannot be any spaces between commas. If there are spaces, the script
// may not be valid in some browsers,
return false;
}
[javascript]

/**
*Open multiple windows (script2.js). Each time a control on the screen is clicked, different windows are opened through the created script
*/
window.onload=newWinLinks;

function newWinLinks(){
for(var i=0;i if(document.links[ i].className="newWin"){
              document.links[i]                                                                                                                                                                                                      
var imgName="images/pixel"+i+".jpg";
var winName="window"+i;
var catWindow=window.open(imgName, winName,"width=350,height=260");
}
}

[javascript]
/**
* Close window (script3.js)
*/
var newWindow=null;
window.onload=newWinLinks;

function newWinLinks(){
for(var i=0;i         document.links[i].onclick=chgWindowState;
  }
}

function windowOpen(){
  if(newWindow&&!newWindow.closed){ ​​
      return true;
  }
 return false;
}

function chgWindowState(){
if(this.id=="closeWin"){
if(windowOpen()){
newWindow.close();
}else{
alert("The window isn't 't open "); }
}
if(this.id=="openWin"){
if(windowOpen()){
alert("The window is already open!");
}else{
            newWindow=window. open("", "newWin","toolbar,location=yes,width=300,height=200"); var newWindow=null;
window.onload=newWinLinks;

function newWinLinks(){
for(var i=0;i document.links[i].onclick=chgWindowState;
}
}



{
if (newwindow &&! Newwindow.closed) {
Return true;
}
Return false;
}

function chgWindowState(){
if(this.id=="closeWin"){
if(windowOpen()){
newWindow.close();
}else{
alert("The window isn't 't open ");
                                                                                                     , topPos=screen.availHeight- 200;
}
if(this.id.indexOf("Right")>-1){
leftPos=screen.availWidth-300;
}
if(windowOpen()){
newWindow.moveTo(leftPos, topPos );
}else{
      newWindow=window.open("","newWin","toolbar,location=yes,width=300,height=200,left="+leftPos+",top="+topPos);
}
Return false;
}

Comparison between opener and parent:
window.opener actually refers to the parent window of this window. For example, parWin.js pops up childWin.jsp through window.open, then the window in childWin.js .opener refers to parWin.jsp, so in childWin.js, you can use window.opener to call any method in parWin.jsp to realize the interaction between parWin.jsp and childWin.jsp.
window.parent is the iframe page calling the parent page object. For example, if a parWin page uses iframe or frame to call the childWin page, then the window where the parWin page is located is the parent of the childWin page.