本文目录一览:
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窗口