国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

window.open()詳解及瀏覽器兼容性問題示例探討

2019-11-20 15:02:28
字體:
來源:轉載
供稿:網友
一、基本語法:
window.open(pageURL,name,parameters)
其中:
pageURL 為子窗口路徑
name 為子窗口名字
parameters 為窗口參數(各參數用逗號分隔)

二、示例
復制代碼 代碼如下:

<script type="text/javascript">
window.open('page.html','newwindow','height=500,width=800,top=0,left=0,
toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no')
</script>

page.html將在新窗體newwindow中打開,寬為800,高為500,距屏頂0象素,屏左0象素,

無工具條,無菜單條,無滾動條,不可調整大小,無地址欄,無狀態欄。

各瀏覽器對window.open()的窗口特征sFeatures參數支持程度存在差異

各瀏覽器運行結果匯總:
 

上表中為各個瀏覽器對 features 各參數選項的支持程度,其中需要特殊說明的如下:

【標注1】:IE7 IE8 Firefox Chrome Safari 中,當"menubar"選項為"yes"時,默認不顯示菜單欄,需要按ALT鍵后菜單欄才可顯示;相反當 "menubar"選項為"no"時,即使按了ALT鍵也不會顯示菜單欄。
【標注2】:Safari中,開啟"location"選項與開啟"toolbar"選項時顯示效果一致。
【標注3】:IE6 IE8 Chrome 中,使用"top"和"left"定位,如果出現設定的的坐標值過大,彈出窗口將可能顯示在屏幕可視范圍外。
【標注4】:IE7 Firefox Safari Opera中,使用"top"和"left"定位,如果出現設定的的坐標值過大,窗口會自動調整"top"與"left"值,確保窗口正常顯示在屏幕可視區域內。
【標注5】:Chrome Opera中,不支持在沒有設定"width"與"height"值的情況下獨立使用"left"和"top",此時"left""top"設定值均不生效。
【標注6】:Chrome 中,不支持在沒有設定"left"和"height"值的情況下獨立使用"width"與"height",此時"width" "height"設定值均不生效。結合【標注5】說明可知,在Chrome中彈出窗口不論想要設定寬高或位置中的一個或幾個值,都必須將他們全部賦值,否則都將不起作用。
【標注7】:Firefox Chrome 中,地址欄會始終顯示。
【標注8】:Opera 中,地址欄默認不顯示,但可以點擊頁面最上方橫條使他顯示出來,設置"location=yes"后地址欄會自動顯示出來。
【標注9】:Chrome Opera 中,不論"menubar"值如何設置,永遠不顯示菜單欄。
【標注10】:Firefox Safari Chrome Opera中無論"resizable"值如何設置,窗口永遠可由用戶調整大小。
【標注11】:Safari Chrome 中,在頁面存在滾動條的情況下,無論"scrollbars"值如何設置,滾動條始終可見。
【標注12】:IE7 在 Windows XP SP3 系統中默認可以支持"status "參數隱藏狀態欄;而在 Windows Vista系統默認環境下不支持"status"參數,狀態欄始終可見.這與兩個系統中默認的 IE7 小版本號不同有關,前者版本號較低,后者版本號較高。
【標注13】:Firefox 中,無論"status"值如何設置,狀態欄始終可見,而 Chrome Opera中,則與前者相反,狀態欄始終不可見。
【標注14】: Chrome Opera 中,無論"toolbar"值如何設置,始終不顯示工具欄。
綜上所述,可見window.open方法的sFeatures參數支持程度存在巨大差異,使用時須謹慎為之。

一般我們用window.open打開頁面都需要居中顯示,示例代碼:
復制代碼 代碼如下:

var width=800; //彈出窗口的寬度;
var height=500; //彈出窗口的高度;
var top = (window.screen.availHeight-height)/2; //窗口的垂直位置;
var left = (window.screen.availWidth-width)/2; //窗口的水平位置;
window.open('page.html','newwindow','height='+height+',width='+width+',top='+top+',left='+left+',
toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no')

availHeight和height的區別
復制代碼 代碼如下:

window.screen.width 返回當前屏幕寬度(分辨率值)
window.screen.height 返回當前屏幕高度(分辨率值)
screen.availWidth,screen.availHeight是指除去taskbar(任務欄)以外的長寬
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 昌宁县| 类乌齐县| 桓仁| 隆昌县| 新昌县| 鄂托克前旗| 襄汾县| 嵊州市| 浠水县| 赞皇县| 上杭县| 陆川县| 商水县| 建昌县| 海盐县| 长宁县| 察隅县| 荣成市| 天台县| 荃湾区| 普格县| 万盛区| 西丰县| 电白县| 会昌县| 凤冈县| 永泰县| 闵行区| 兖州市| 定西市| 嫩江县| 蒙山县| 偏关县| 芮城县| 图木舒克市| 霍山县| 辰溪县| 定襄县| 巧家县| 营口市| 如东县|