分享
 
 
 

一个经典的符合web标准的flash插入法

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

HTML 代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>FlashObject embed by Geoff Stearns (basic) @ deconcept</title>

<!-- FlashObject embed by Geoff Stearns geoff@deconcept.com http://blog.deconcept.com/flashobject/ -->

<script type="text/javascript" src="flashobject.js"></script>

</head>

<body>

<script type="text/javascript">

// <![CDATA[

var fo = new FlashObject("fo_tester.swf", "fotester", "300", "300", "6", "#FF6600");

fo.addVariable("flashVarText", "this is passed in via FlashVars for example only"); // this line is optional, but this example uses the variable and displays this text inside the flash movie

fo.write("flashcontent");

// ]]>

</script>

</body>

</html>

flashobject.js代码:

this.installedVer = com.deconcept.FlashObjectUtil.getPlayerVersion(this.getAttribute('version'), useExpressInstall);

if(c) this.addParam('bgcolor', c);

var q = quality ? quality : 'high';

this.addParam('quality', q);

var xir = (xiRedirectUrl) ? xiRedirectUrl : window.location;

this.setAttribute('xiRedirectUrl', xir);

this.setAttribute('redirectUrl', '');

if(redirectUrl) this.setAttribute('redirectUrl', redirectUrl);

}

com.deconcept.FlashObject.prototype = {

setAttribute: function(name, value){

this.attributes[name] = value;

},

getAttribute: function(name){

return this.attributes[name];

},

addParam: function(name, value){

this.params[name] = value;

},

getParams: function(){

return this.params;

},

addVariable: function(name, value){

this.variables[name] = value;

},

getVariable: function(name){

return this.variables[name];

},

getVariables: function(){

return this.variables;

},

createParamTag: function(n, v){

var p = document.createElement('param');

p.setAttribute('name', n);

p.setAttribute('value', v);

return p;

},

getVariablePairs: function(){

var variablePairs = new Array();

var key;

var variables = this.getVariables();

for(key in variables){

variablePairs.push(key +"="+ variables[key]);

}

return variablePairs;

},

getFlashHTML: function() {

var flashNode = "";

if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length) { // netscape plugin architecture

if (this.getAttribute("doExpressInstall")) this.addVariable("MMplayerType", "PlugIn");

flashNode = '<embed type="application/x-shockwave-flash" src="'+ this.getAttribute('swf') +'" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') +'"';

flashNode += ' id="'+ this.getAttribute('id') +'" name="'+ this.getAttribute('id') +'" ';

var params = this.getParams();

for(var key in params){ flashNode += [key] +'="'+ params[key] +'" '; }

var pairs = this.getVariablePairs().join("&");

if (pairs.length > 0){ flashNode += 'flashvars="'+ pairs +'"'; }

flashNode += '/>';

} else { // PC IE

if (this.getAttribute("doExpressInstall")) this.addVariable("MMplayerType", "ActiveX");

flashNode = '<object id="'+ this.getAttribute('id') +'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') +'">';

flashNode += '<param name="movie" value="'+ this.getAttribute('swf') +'" />';

var params = this.getParams();

for(var key in params) {

flashNode += '<param name="'+ key +'" value="'+ params[key] +'" />';

}

var pairs = this.getVariablePairs().join("&");

if(pairs.length > 0) flashNode += '<param name="flashvars" value="'+ pairs +'" />';

flashNode += "</object>";

}

return flashNode;

},

write: function(elementId){

if(this.useExpressInstall) {

// check to see if we need to do an express install

var expressInstallReqVer = new com.deconcept.PlayerVersion([6,0,65]);

if (this.installedVer.versionIsValid(expressInstallReqVer) && !this.installedVer.versionIsValid(this.getAttribute('version'))) {

this.setAttribute('doExpressInstall', true);

this.addVariable("MMredirectURL", escape(this.getAttribute('xiRedirectUrl')));

document.title = document.title.slice(0, 47) + " - Flash Player Installation";

this.addVariable("MMdoctitle", document.title);

}

} else {

this.setAttribute('doExpressInstall', false);

}

if(this.skipDetect || this.getAttribute('doExpressInstall') || this.installedVer.versionIsValid(this.getAttribute('version'))){

var n = (typeof elementId == 'string') ? document.getElementById(elementId) : elementId;

n.innerHTML = this.getFlashHTML();

}else{

if(this.getAttribute('redirectUrl') != "") {

document.location.replace(this.getAttribute('redirectUrl'));

}

}

}

}

/* ---- detection functions ---- */

com.deconcept.FlashObjectUtil.getPlayerVersion = function(reqVer, xiInstall){

var PlayerVersion = new com.deconcept.PlayerVersion(0,0,0);

if(navigator.plugins && navigator.mimeTypes.length){

var x = navigator.plugins["Shockwave Flash"];

if(x && x.description) {

PlayerVersion = new com.deconcept.PlayerVersion(x.description.replace(/([a-z]|[A-Z]|\s)+/, "").replace(/(\s+r|\s+b[0-9]+)/, ".").split("."));

}

}else{

try{

var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");

for (var i=3; axo!=null; i++) {

axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+i);

PlayerVersion = new com.deconcept.PlayerVersion([i,0,0]);

}

}catch(e){}

if (reqVer && PlayerVersion.major > reqVer.major) return PlayerVersion; // version is ok, skip minor detection

// this only does the minor rev lookup if the user's major version

// is not 6 or we are checking for a specific minor or revision number

// see http://blog.deconcept.com/2006/01/11/getvariable-setvariable-crash-internet-explorer-flash-6/

if (!reqVer || ((reqVer.minor != 0 || reqVer.rev != 0) && PlayerVersion.major == reqVer.major) || PlayerVersion.major != 6 || xiInstall) {

try{

PlayerVersion = new com.deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));

}catch(e){}

}

}

return PlayerVersion;

}

com.deconcept.PlayerVersion = function(arrVersion){

this.major = parseInt(arrVersion[0]) || 0;

this.minor = parseInt(arrVersion[1]) || 0;

this.rev = parseInt(arrVersion[2]) || 0;

}

com.deconcept.PlayerVersion.prototype.versionIsValid = function(fv){

if(this.major < fv.major) return false;

if(this.major > fv.major) return true;

if(this.minor < fv.minor) return false;

if(this.minor > fv.minor) return true;

if(this.rev < fv.rev) return false;

return true;

}

/* ---- get value of query string param ---- */

com.deconcept.util = {

getRequestParameter: function(param){

var q = document.locatio

[1] [2] 下一页

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有