初学者向Flash专家提出的一个问题:网页中的Flash对象
以下是我对这个问题的解释: 从JavaScript中,需要获取对Flash Player对象的引用。在浏览器中运行的Flash Player有两个基本版本:ActiveX和插件版本。ActiveX版本在Internet Explorer中本机运行,而插件版本由其他浏览器使用 ActiveX播放器由HTML页面中的object标记控制,您可以使用Windows检索JavaScript引用。objectId,其中objectId是对象标记的id属性的值。例如,如果对象标记的id属性是example,那么对ActiveX播放器的引用将是window.example 插件播放器由HTML页面中的嵌入标记控制,您可以使用window.document检索JavaScript引用。embedName,其中embedName是嵌入标记的name属性的值。例如,如果嵌入标记的name属性是example,那么对插件播放器的引用将是window.document.example 这就是问题本身:初学者向Flash专家提出的一个问题:网页中的Flash对象,flash,Flash,以下是我对这个问题的解释: 从JavaScript中,需要获取对Flash Player对象的引用。在浏览器中运行的Flash Player有两个基本版本:ActiveX和插件版本。ActiveX版本在Internet Explorer中本机运行,而插件版本由其他浏览器使用 ActiveX播放器由HTML页面中的object标记控制,您可以使用Windows检索JavaScript引用。objectId,其中objectId是对象标记的id属性的值。例如,如果对象标记的id属性是example,
为什么Flash Player对象通过Object标记嵌入时作为窗口属性存在,而通过embed标记嵌入时,它存在于window.document属性中?从网页中获取Flash Player对象的最现代方式是什么?答案就在问题本身中。IE使用
对象
标记,因此当嵌入对象
标记时,SWF是一个窗口
对象。世界上其他地方都使用嵌入
标记,因此SWF是窗口的一个属性。文档
为他们提供。今天我得到了一件有趣的事情。我使用常用的方法在我的电脑中嵌入一个flash
我还使用常用的方法获取flash参考:
<script type="text/javascript">
function getFlashMovie(movieName) {
var isIE = navigator.appName.indexOf("Microsoft") != -1;
return (isIE) ? window[movieName] : document[movieName];
}
function CallFlashFun() {
var textarea = document.getElementById("jsMsg")
var flashObj = getFlashMovie("flashObject");
flashObj.asFunction(textarea.value);
}
</script>
函数getFlashMovie(movieName){
var isIE=navigator.appName.indexOf(“Microsoft”)!=-1;
返回(isIE)?窗口[movieName]:文档[movieName];
}
函数CallFlashFun(){
var textarea=document.getElementById(“jsMsg”)
var flashObj=getFlashMovie(“flashObject”);
flashObj.asFunction(textarea.value);
}
问题是在我发表这篇文章之后。它不起作用。因此,我尝试将window[movieName]
替换为window.document[movieName]。
然后它就可以工作了。这很奇怪
window[movieName]、document[movieName]和window.document[movieName]之间有什么不同?仍然可以最可靠地实现这一点。如此之多以至于Adobe将其作为默认嵌入脚本。对不起,当我尝试获取对象时,它在IE 6中不起作用,如:var o=window.flashId;但是当我得到这样的对象时:var o=window[flashId];或者类似的:var o=document[flashId];-它在我的IE 6中工作。那么,人们究竟是如何得到这个物体的呢???如何做对?
<script type="text/javascript">
function getFlashMovie(movieName) {
var isIE = navigator.appName.indexOf("Microsoft") != -1;
return (isIE) ? window[movieName] : document[movieName];
}
function CallFlashFun() {
var textarea = document.getElementById("jsMsg")
var flashObj = getFlashMovie("flashObject");
flashObj.asFunction(textarea.value);
}
</script>