成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專(zhuān)欄INFORMATION COLUMN

window.showModalDialog與window.open()使用

TZLLOG / 2468人閱讀

摘要:有些瀏覽器不兼容,嘗試用封裝替代,需要打開(kāi)子窗口后向父窗口傳遞數(shù)據(jù)。在頁(yè)面上選擇一個(gè)值,確定關(guān)閉窗口后將選擇的這個(gè)值返回到父窗口。

window.showModalDialog 有些瀏覽器不兼容,嘗試用window.open() 封裝替代,需要打開(kāi)子窗口后向父窗口傳遞數(shù)據(jù)。




Test dialog

 
 


子窗口返回?cái)?shù)據(jù):

window.returnvalue
window.open 代替showModalDialog

頁(yè)面A.htm 用 window.open方式彈出頁(yè)面 B.htm 。
在頁(yè)面B.htm上選擇一個(gè)值,確定關(guān)閉窗口后將選擇的這個(gè)值返回到父窗口A.htm。
A.htm得到返回的值后,給本頁(yè)面上的文本框賦值。

A.html





Test dialog

B.html





B 

  


 


另外一個(gè)封裝方法

modal.js

var has_showModalDialog = !!window.showModalDialog;//定義一個(gè)全局變量判定是否有原生showModalDialog方法
if(!has_showModalDialog &&!!(window.opener)){        
    window.onbeforeunload=function(){
        window.opener.hasOpenWindow = false;        //彈窗關(guān)閉時(shí)告訴opener:它子窗口已經(jīng)關(guān)閉
    }
}
//定義window.showModalDialog如果它不存在
if(window.showModalDialog == undefined){
    window.showModalDialog = function(url,mixedVar,features){
        if(window.hasOpenWindow){
            alert("您已經(jīng)打開(kāi)了一個(gè)窗口!請(qǐng)先處理它");//避免多次點(diǎn)擊會(huì)彈出多個(gè)窗口
            window.myNewWindow.focus();
        }
        window.hasOpenWindow = true;
        if(mixedVar) var mixedVar = mixedVar;
        //因window.showmodaldialog 與 window.open 參數(shù)不一樣,所以封裝的時(shí)候用正則去格式化一下參數(shù)
        if(features) var features = features.replace(/(dialog)|(px)/ig,"").replace(/;/g,",").replace(/:/g,"=");
        //window.open("Sample.htm",null,"height=200,width=400,status=yes,toolbar=no,menubar=no");
        //window.showModalDialog("modal.htm",obj,"dialogWidth=200px;dialogHeight=100px"); 
        var left = (window.screen.width - parseInt(features.match(/width[s]*=[s]*([d]+)/i)[1]))/2;
        var top = (window.screen.height - parseInt(features.match(/height[s]*=[s]*([d]+)/i)[1]))/2;
        window.myNewWindow = window.open(url,"_blank",features);
    }
}

A.html 父頁(yè)面





    

Test dialog

內(nèi)容哈哈哈

B.html頁(yè)面:





    

B 

  


 



相關(guān)文章:
高版本chrome不再支持window.showmodaldialog 的臨時(shí)替換方案【用window.open】

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/51589.html

相關(guān)文章

  • JS魔法堂:定義頁(yè)面的Dispose方法——[before]unload事件啟示錄

    摘要:坑無(wú)視和是十分特殊的事件,要求事件處理函數(shù)內(nèi)部不能阻塞當(dāng)前線(xiàn)程,而卻恰恰就會(huì)阻塞當(dāng)前線(xiàn)程,因此規(guī)范中以明確在和中直接無(wú)視這幾個(gè)方法的調(diào)用。 前言 ?最近實(shí)施的同事報(bào)障,說(shuō)用戶(hù)審批流程后直接關(guān)閉瀏覽器,操作十余次后系統(tǒng)就報(bào)用戶(hù)會(huì)話(huà)數(shù)超過(guò)上限,咨詢(xún)4A同事后得知登陸后需要顯式調(diào)用登出API才能清理4A端,否則必然會(huì)超出會(huì)話(huà)上限。?即使在頁(yè)面上增添一個(gè)登出按鈕也無(wú)法保證用戶(hù)不會(huì)直接關(guān)掉瀏覽器...

    Chiclaim 評(píng)論0 收藏0
  • 前端硬核面試專(zhuān)題之 HTML 24 問(wèn)

    摘要:前言本文講解前端面試的的內(nèi)容。復(fù)習(xí)前端面試的知識(shí),是為了鞏固前端的基礎(chǔ)知識(shí),最重要的還是平時(shí)的積累注意文章的題與題之間用下劃線(xiàn)分隔開(kāi),答案僅供參考。返回當(dāng)前文檔的標(biāo)題。改用則可以進(jìn)行針對(duì)性的和避免不必要的。 showImg(https://segmentfault.com/img/bVbv2GE?w=900&h=400); 1. 前言 本文講解前端面試的 HTML 的內(nèi)容。 復(fù)習(xí)前端面...

    honhon 評(píng)論0 收藏0
  • JavaScript BOM——“window 對(duì)象”的注意要點(diǎn)

    摘要:僅限數(shù)值表示新窗口的高度。一個(gè)字符串參數(shù),并將其顯示給用戶(hù),提供兩個(gè)按鈕,一個(gè)按鈕返回布爾值另一個(gè)按鈕返回布爾值。 全局作用域 window 在是BOM 的核心對(duì)象,他是瀏覽器的一個(gè)實(shí)例。 在全局作用域中聲明的變量、函數(shù)都會(huì)變成window 對(duì)象的屬性和方法。如: var age = 18; function sayAge(){ console.log(window.age);...

    levius 評(píng)論0 收藏0
  • 《JavaScript 闖關(guān)記》之 BOM

    摘要:對(duì)象的核心對(duì)象是,它表示瀏覽器的一個(gè)實(shí)例。及更高版本不會(huì)拋出錯(cuò)誤。與框架有關(guān)的最后一個(gè)對(duì)象是,它始終指向?qū)嶋H上,和對(duì)象可以互換使用。設(shè)置值說(shuō)明或表示瀏覽器窗口是否最大化。僅限數(shù)值表示新窗口的高度。 ECMAScript 是 JavaScript 的核心,但如果要在 Web 中使用 JavaScript,那么 BOM(瀏覽器對(duì)象模型)則無(wú)疑才是真正的核心。BOM 提供了很多對(duì)象,用于訪(fǎng)問(wèn)...

    馬忠志 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<