ie6 大自然环境下临时不必考虑到w3c规范

日期:2020-10-26 类型:科技新闻 

关键词:免费自助建站,手机建站平台,wap建站,免费自助建站平台,H5网站,H5模板建站

这是flash传统式的嵌入方式:

拷贝编码
编码以下:

<object classid="clsid:d27cdb6e-ae6d⑴1cf⑼6b8⑷44553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="32" height="32">
<param name="movie" value="test.swf" />
<param name="quality" value="high" />
<embed src="test.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="32" height="32"></embed>
</object>

应用 object 和 embed 标识来嵌入,仔细的会发现,object 的许多主要参数和 embed 里边的许多特性是反复的。
有的访问器适用 object ,有的适用 embed ,这也是为何要改动 flash 的主要参数时两个地区都要改的缘故。这类方式是 macromedia 1直以来的官方方式,最大程度的确保了 flash 的作用,沒有适配性难题。
可是自从有了w3c规范,和1些竭力规定根据该规范的顾客,事儿繁杂了:
embed被觉得是是非非法的
embed 标识是 netscape 的独享标识,尽管 embed 标识运用普遍存在,可是从html3.2,html4.0到xhtml1.0,w3c都沒有收录这个标识。应用embed 标识的网页页面将不可以根据w3c校检。
实际上她们这样考虑到也是正确的,绝大多数西方我国的客户,正版vista系统软件基础上保证了普及,她们大多数应用ie7.0/ie8.0等流行访问器,应用这类简介的标识能够节约好几行编码:

<object type="application/x-shockwave-flash" data="test.swf" width="200" height="100"> <parm name="movie" value="test.swf /> </object>

可是在盗版泛滥成灾的我国,大部分客户依然在应用windows xp系统软件上自带的ie6访问器,而它是不适用object标识的,只能应用变通的方法来处理。
现阶段的临时性方法
既要合乎规范,又想在全部访问器正确显示信息flash应当如何做?大家能够加上1段冗杂的javascript来掩藏embed标识:

拷贝编码
编码以下:

function getflashobject(flashsrc, objwidth, objheight, etcparam) {
var tag = "";
var baseflashdir="";
flashsrc = baseflashdir + flashsrc;
if ( etcparam != "" || etcparam != null ) {
if ( etcparam.substr(0, 1) == "?" )
flashsrc += etcparam;
else
flashsrc += "?" + etcparam;
}
tag += "<object classid=\"clsid:d27cdb6e-ae6d⑴1cf⑼6b8⑷44553540000\" ";
tag += "codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0\" ";
tag += "width=\"" + objwidth + "\" height=\"" + objheight + "\">";
tag += "<param name=\"movie\" value=\"" + flashsrc + "\" />";
tag += "<param name=\"quality\" value=\"high\" />";
tag += "<param name=\"wmode\" value=\"transparent\" />";
tag += "<embed src=\"" + flashsrc + "\" quality=\"high\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" ";
tag += "type=\"application/x-shockwave-flash\" width=\"" + objwidth + "\" height=\"" + objheight + "\" ";
tag += "wmode=\"transparent\"></embed>";
tag += "</object>";
document.write(tag);
}

不只这般,还必须在网页页面中加上若干启用该js的主要参数

拷贝编码
编码以下:

<script language="javascript" type="text/javascript">getflashobject('images/test.swf', '100%', '100%', '')</script>

那新的难题又出現了,假如客户禁用了javascript如何办?
难道说要先写出更多的编码,分辨客户应用的是甚么访问器,随后依据访问器再輸出适合的编码?我靠,多危害网页页面实行高效率啊,以便1个w3c规范,多那末多行编码,让每个浏览自身网站的客户多等候1秒钟?
因此我想描述的见解是:
现阶段,ie6普及的大自然环境下,临时不必考虑到w3c规范。认真做好自身的网页页面,能少写几行编码就少写几行编码。不必以便规范去做规范。