
这就是我所拥有的:
<head><Title>UP HERE WE ESCAPE THE RAT RACE</Title><Meta http-equiv="Content-Type" content="text/HTML; charset=iso-8859-1" /><script type="text/JavaScript" src="http://AJAX.GoogleAPIs.com/AJAX/libs/swfobject/2.2/swfobject.Js"></script><script type="text/JavaScript"> swfobject.embedSWF("UpHere.swf","myContent","700","300","9.0.0"); function setFocusOnFlash() { var fl = document.getElementByID("myContent"); if (fl) { fl.focus(); } } </script> </head> <body onload="setFocusOnFlash()"> <div > <div ID="myContent" > <p>Alternative content</p> </div> </div> </body> 你可以在这里看到它,
http://joon.be/exclusivepreview/
它出什么问题了?
我对swfObject没有很深的了解……
function setFocusOnFlash() { var flash = document.getElementByID("theIDOfTheObjectElement"); flash.tabIndex = 1234; // This was needed on Chrome 23 flash.focus(); // Attention: firefox needs wmode "opaque"!} 仅在firefox上,< param name =“wmode”value =“opaque”>还需要在object元素下,否则focus()没有效果. (我使用了Stephen Belanger的jquery.flash,你可以在其中指定wmode;我认为它也可以用SWFObject.)
但更棘手的部分是你不能太早调用setFocusOnFlash.对于Chrome和IE,在插入对象的JavaScript之后直接添加setTimeout(setFocusOnFlash,1).直接发出setFocusOnFlash()没有.我假设诀窍很简单,只有在浏览器完全处理文档更改后才会调用定时回调,无论您指定的延迟如何.但是在firefox上用这个小延迟打电话太早了;它在对象元素周围放置了一个虚线边框(它不应该),Flash没有得到击键.将延迟设置为250已在我的计算机上修复此问题,但谁知道您需要多大的延迟. (更糟糕的是,重复setFocusOnFlash调用也没有帮助……一旦那个虚线边框存在,它们没有进一步的效果.)所以,我所做的是将一个Externalinterface.call(“flashLoaded”)回调添加到flash文档类构造函数.为了清楚起见,您可以在Flash / ActionScript中执行此 *** 作,因此您需要访问SWF文件的源或作者.这样,当SWF启动时,它会调用嵌入HTML页面的flashLoaded JavaScript方法,因此您就知道它已准备就绪.功能如下:
function flashLoaded() { // Oddly,directly calling setFocusOnFlash() dIDn't work on ie8 setTimeout(setFocusOnFlash,1);} 总结 以上是内存溢出为你收集整理的html – 如何让我的flash对象专注于加载?全部内容,希望文章能够帮你解决html – 如何让我的flash对象专注于加载?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)