本文目錄一覽:
JavaScript模態窗口焦點問題
按理論應該是打開模態窗口後,兩首音樂都在播放,不存在這個放那個不放的問題。按下面改。
embed
id=”mp”
src=”1.mp3″
hidden=false
loop=true
input
type=”button”
value=”New”
onclick=”showd()”
script
function
showd()
{
mp.pause();
window.showModalDialog(‘1.html’,”,’dialogWidth:200px;dialogHeight:100px;help:no;Scroll=no;status=no;center=yes’)
mp.Play();
}
/script
模態窗口打開前暫停原背景音樂,關閉後繼續。
———————————————-
我用了七種瀏覽器一一測試,結果如下:
IE7,IE8(TT,360,馬桶其實國內的瀏覽器都是IE內核)一切正常。
Opera
不支持showModalDialog不說了。
FF
需要安裝Quick
Time
Player插件才可播放,但這個插件又不支持pause或PLAY方法,所以也失敗。
Safari和chrome也是一個內核,測試結果它們不認
embed
標籤。
哈哈,很鬱悶吧,還是微軟強大,讓那些整天罵微軟IE不標準,整天為其它瀏覽器叫屈的人見鬼去吧,雖然IE「不標準」,但IE有太多其它瀏覽器沒有的功能了,樓主想好好實現統一標準的媒體播放,還是等HTML5標準下來再說吧,呵呵,題外話。
我這裡測試360,TT,IE7,IE8都可以正常播放,樓主不能放可能你的「模態窗口用HTML和VBScript(抄的)」有問題吧。
最新版的chrome無法用js關閉窗口,怎麼解決
遇到同樣的問題,說明下:
Chrome自version37起已經默認停止了對window.showModalDialog的支持(可以修改註冊表獲得2015年5月之前,這種修改都有效)。
而對於從瀏覽器手動打開的非modal的窗口,在我意識到self close問題以來,Chrome都是不支持的——比如你給自己的page做了個logout的功能,點擊之後想用你提到的self close方法關閉這個page,在Chrome上是關不掉的(但是你可以指定到另一個顯示logout狀態page,效果一樣,logout也不一定就非要把那頁關掉不是)。
既然它現在停止了支持showModalDialog,非modal窗口又不允許self close,那全面取締從代碼里self close也是情理之中遲早的事情吧。
解決方案:
對於解決showModalDialog問題,你可以自己用iframe之類的自己去模擬一個modal窗口,就像微博的轉發窗口,點開之後用戶將無法操作原頁面的其他element。但是模擬的話,主要會遇到JS繼續執行的問題,showModalDialog是會阻止原頁面JS繼續執行的,直到獲取到新窗口的的返回結果,自己模擬這個行為的話,可以考慮call back方式,時間篇幅所限,不細說了哈,想取代showModalDialog都遇到這個問題,網上應該能搜到不少封裝好的方法。
再說一點你需要自己寫一個showModalDialog的原因,在Chrome宣布停止支持showModalDialog之後,FireFox也首次在文檔和DebugTool里標明他們也會停止對showModalDialog的支持。暫時還沒正式停止,大概是在等用戶對Chrome這個操作的反應。
showModalDialog原來畢竟是IE獨有的東西,一直沒納入W3C標準。Chrome對它的支持一直很差,比如從一個page打開showModalDialog,你還可以去其他page操作,也可以查看原page,甚至可以在原page上操作,只是這些操作只有在你關閉了showModalDialog之後才會起作用。
但是FireFox對showModalDialog的支持其實一直是很好的,基本跟IE上用起來基本無差,但是IE也在慢慢遵循W3C標準(特別是新出的IE11),FireFox拋棄showModalDialog也是早晚的事情。
最後,自己”畫”的modal dialog完全在你的控制之下,可以暴露一個close介面來允許從子窗口裡關閉父窗口打開的modal dialog。
(近期沒少受此困擾,碼了這麼多,跟吐槽似的了……)
如何在CHROME中實現用JS 彈出一個IE的窗口?
1、首先你要切好與IE窗口相似的圖片
2、然後寫好模仿的IE窗口的靜態頁面html代碼,最後寫好後用樣式 display:none 把它隱藏起來
3、開始寫JS代碼
4、JS代碼流程:
a、點擊一個html元素觸發onclick點擊事件進行監聽。
b、點擊事件綁定一個函數,該函數是把這個隱藏的窗口顯示出來,獲取的窗口元素.style.display=none;即可。
ps:最後你在這個窗口還有什麼功能都陸續加上去。我已經回答了你所提出問題的字面意思。就是彈出一個IE窗口
原創文章,作者:NLDEN,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/330650.html