首頁  >  文章  >  web前端  >  JavaScript點選網頁任意位置開啟新視窗以及關閉視窗的實作方法

JavaScript點選網頁任意位置開啟新視窗以及關閉視窗的實作方法

黄舟
黄舟原創
2017-09-22 09:28:091772瀏覽

這篇文章主要介紹了JavaScript實作點擊網頁任意位置開啟新視窗與關閉視窗的方法,涉及javascript視窗的相關操作函數與使用技巧,需要的朋友可以參考下

本文實例講述了JavaScript實作點擊網頁任意位置開啟新視窗與關閉視窗的方法。分享給大家供大家參考,具體如下:

在一些不正規的網站,尤其是那些掛滿廣告的下載站,經常在你點擊的下載鏈接之前,無論你點擊網頁的任何一處都會彈出新視窗。

這樣的效果,可以輕鬆用JavaScript做到,還可以特別指定點擊某一區域的p,才觸發開啟新視窗的事件。

例如下圖的效果:

在原始網頁中,指定一個p,無論使用者點擊這個p的任意區域,都會開啟新窗口,而點擊其它地方則不會。

在新視窗的網址列不可以編輯,不能被調整大小,提供一個「關閉」按鈕,關閉該視窗。

原網頁的HTML佈局如下,


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Untitled Document</title>
  </head>
  <body>
    <p class="testClass" style="height:100px;border:1px solid #cccccc">点击此任意一处打开广告</p>
  </body>
</html>

#沒什麼好說的,就一個class為testClass的p。

關鍵是以下腳本。


<script type="text/javascript">
  document.onclick = function(e){//设置整个网页的单击事件
    e = e || window.event;//为了兼容这样写。
    var target = e.target || e.srcElement;//用来点击的对象。为了兼容这样写。
    if (target.className == "testClass"){//如果点击的对象,class为testClass,那么打开新窗口。
      var OpenWindow=window.open("","newwindow","height=100","width=400","top=100","left=0","toolbar=false","menubar=false","scrollbars=false","resizable=false","location=false","status=false");
      //在新窗口中写入如下的HTML代码。
      OpenWindow.document.write("广告<br/>");
      //在Javascript中,利用window.close()可以关闭当前窗口,但不能关闭当前标签页,不过由于这个窗口是我们自己新生成的,因此对于所有浏览器有效
      OpenWindow.document.write("<button onclick=&#39;javascript:window.close()&#39;>关闭!</button>");
    }
  }
</script>

從以上的腳本可以看到window.open()這個方法參數很長。

其中:

第一個參數為空的意思,則意為新視窗的連結不是現有的網頁,新視窗的內容是透過以下的兩行Javascript產生的。如果要求新視窗的內容是已有的網頁,則填寫對應的url。

之後的參數是如下的意思,但只是對IE有效。

newwindow:彈出視窗的名字(不是檔案名稱),非必須,可用空''代替。
height=100:新視窗高度。
width=400:新視窗寬度。
top=0:新視窗距離目前視窗上方的像素值。
left=0:視窗距離目前視窗左側的像素值。
toolbar=false:是否顯示工具列,menubar,scrollbars表示選單列和捲動列。
resizable=false:是否允許改變視窗大小
location=false:是否啟用新視窗網址列
status=false:是否顯示狀態列。

以上是JavaScript點選網頁任意位置開啟新視窗以及關閉視窗的實作方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn