flash嵌入html 在html网页页面编码中嵌入Flash文档的

有关我的SWFObject V1.5的应用全过程,以上篇中的详细介绍临时告1段落了,下面我可能领着SWFObject V2.1登场与大伙儿碰面,假如我早1点结交V2.1的话,也许就不容易遭受“等候HTML DOM载入”难题的侵犯了。

最先,给大伙儿扼要详细介绍1下V2.1英语的语法的启用示例:

拷贝编码
编码以下:

<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
//1、应用Json原始化自变量、主要参数、特性
var flashvars = {
name1: "hello",
name2: "world",
name3: "foobar"
};
var params = {
menu: "false"
};
var attributes = {
id: "dynamicContent2",
name: "dynamicContent2"
};
swfobject.embedSWF("test6_flashvars.swf", "content2", "300", "120", "6.0.0", "expressInstall.swf", flashvars, params, attributes);
//2、传统式的原始化设定,实际效果1样
var flashvars = {};
flashvars.name1 = "hello";
flashvars.name2 = "world";
flashvars.name3 = "foobar";
var params = {};
params.menu = "false";
var attributes = {};
attributes.id = "dynamicContent3";
attributes.name = "dynamicContent3";
swfobject.embedSWF("test6_flashvars.swf", "content3", "300", "120", "6.0.0",
"expressInstall.swf", flashvars, params, attributes);
//3、立即写在后边,就1句话,简约懀呛,不拖拖拉拉
swfobject.embedSWF("test6_flashvars.swf", "content5", "300", "120",
"6.0.0", "expressInstall.swf", {name1:"hello",name2:"world",name3:"foobar"}, {menu:"false"}, {id:"dynamicContent5",name:"dynamicContent5"});
</script>

从我本人来说,我较为喜爱上面的第3种写法,下面将要提到,我在HTML编码中嵌入Flash文档的最后处理计划方案中,便是采用的第3种设计风格启用的swfobject.embedSWF()。V2.1版本号的设计风格十分合乎当代JS的设计风格,编码显得更加简约。

上篇中采用的处理计划方案来看,好像早已可以考虑绝大多数要求,并且适配性好像也还过得去,理当可以考虑绝大部分盆友的要求,也何尝不能是1个过得去的处理计划方案。可是,有1种较为极端化的状况被我发现,便是在:
拷贝编码
编码以下:

new SWFObject("http://www.pec365.com/Flash/20071113.swf", "mymovie", "304", "367", "7", "#FFFFFF");

的情况下,假如传入的Flash文档的详细地址有误,又或该Flash文档在服务器中被删掉掉了,那末你将看到1种最不肯意看到的状况,示例
以下:

拷贝编码
编码以下:

<html>
<title>DEMO</title>
<head>
<script type="text/javascript" src="swfobject_source.js"></script>
</head>
<body>
<form id="Form1">
<div id="flashcontent">
<a href="http://www.adobe.com/go/getflashplayer">
<img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" border="0" />
</a>
</div>
</form>
<script type="text/javascript">
// 留意,我在Flash文档名前加了1个f
var so = new SWFObject("http://www.pec365.com/Flash/f20071113.swf", "mymovie", "304", "367", "7", "#FFFFFF");
so.write("flashcontent");
</script>
</body>
</html>

提议您亲身实行1下这段编码,假如您是1名初学者可参照上篇中说详细介绍的流程来运作1下这段编码,真正的体会1下“灾祸”的来临。

是的,您将看到网页页面上1片空白,那本来用于更换不可以显示信息Flash时备用的照片也看不到了,去了哪里呢?我历经调节后发现,纵使由于传入的Flash文档详细地址不正确,也会建立1个不正确的<object [……]></object>标识将<div id="flashcontent">[……]</div>中的內容更换掉,从而便是你看到的,将产生1个高宽各自为304px和367px的空白地区(假如安裝了Flash播发器,在显示屏左上角点一下电脑鼠标右键,您会有一定的发现),因而恶梦就这般来临了。

以便处理这个恶梦般的結果,因而乎,我就想起1个馊主张,最先查验1下依据传入的Flash文档详细地址查验1下服务器上是不是真的存在该文档,假如回到的結果是该Flash文档存在,那末就实行swfobject.embedSWF()方式,而实际的思路便是运用XMLHttpRequest 目标,根据GET/HEAD方法恳求服务器,随后分辨xmlHttp.status == 200 || xmlHttp.status == 302做为文档存在的根据,可是这类方法好像還是存在1定的缺点,临时我都还没工作能力健全,现将我最后的处理计划方案示比如下:

拷贝编码
编码以下:

<html>
<title>DEMO</title>
<head>
<script language="javascript" type="text/javascript" src="JavaScript/swfobject.js"></script>
<script type="text/javascript">
(function() {
var xmlHttp,
result,
flashURL = "http://www.pec365.com/Flash/20071113.swf";

var checkFlashURL = function(url) {
xmlHttp = GetXmlHttpObject();
xmlHttp.onreadystatechange = function() {
if ( xmlHttp.readyState == 4 ) {
if ( xmlHttp.status == 200 ||
xmlHttp.status == 302 ) {
return (result = true);
}
}
};
xmlHttp.open("HEAD", url, true);
xmlHttp.send(null);
};
var GetXmlHttpObject = function() {
var xmlHttp = null;
try {
// Firefox, Opera 8.0+, Safari
xmlHttp = new XMLHttpRequest();
}
catch (e) {
// Internet Explorer
try {
// Older IE
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
// New IE
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}

return xmlHttp;
};
// 便是用于查验服务器上特定的Flash文档是不是存在
checkFlashURL(flashURL);
window.onload = function() {
if ( result ) {
swfobject.embedSWF(flashURL, "flashcontent", "304", "367", "10.0.0", "expressInstall.swf", {}, { quality:"autohigh", wmode:"transparent" }, {});
}
else {
window.alert("您的Flash详细地址失效,请细心查验"); // 只是用于调节时查验Flash详细地址地否正确
}
}
})();
</script>
</head>
<body>
<form id="Form1">
<div id="flashcontent">
<a href="http://www.adobe.com/go/getflashplayer">
<img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" border="0" />
</a>
</div>
</form>
</body>
</html>

哇,用了数小时在把这两篇文本折腾好,一不小心在企业呆到快22点了,保安来赶人了,想草草结束吧,明日工作有空再来雕刻1下文本,呵呵。