Javascript 带有flash内容的iframe html页面为下拉菜单创建问题
我有一个iframe到一个运行Flash swf文件的页面;有人知道如何使它透明,以便我的下拉菜单可以完美地显示吗?敬请告知,我无法编辑源页面(将Javascript 带有flash内容的iframe html页面为下拉菜单创建问题,javascript,html,css,flash,Javascript,Html,Css,Flash,我有一个iframe到一个运行Flash swf文件的页面;有人知道如何使它透明,以便我的下拉菜单可以完美地显示吗?敬请告知,我无法编辑源页面(将param=wmode,value=transparent添加到Flash对象),只有在iframe或我页面上的某些JavaScript中有可能实现,我已经尝试过allowtransparency=“true”和background color=“transparent”对不起,但是没有办法做到这一点。 除非您在显示页面的页面上拥有控件,并添加wmod
param=wmode,value=transparent
添加到Flash对象),只有在iframe或我页面上的某些JavaScript中有可能实现,我已经尝试过allowtransparency=“true”
和background color=“transparent”
对不起,但是没有办法做到这一点。
除非您在显示页面的页面上拥有控件,并添加wmode=transparent参数。
这是自从flash出现在网络上以来最大的问题之一。
您可以做的是,给flash页面的所有者写一封电子邮件,请他添加该参数。您可以在菜单打开时暂时隐藏包含div的flash。使用javascript设置
flashDiv.style.display=“无”
当菜单打开时,将其设置回flashDiv.style.display=“block”
当菜单关闭时。我建议您增加下拉菜单的style.zIndex
属性的值,这样即使它不是透明的,也可以显示在iframe前面。但这只是一个想法,我不知道它是否有效
要尝试这一点,由于浏览器忽略了非定位元素的style.zIndex
属性,因此您的下拉菜单应该具有style.position
和相对的或绝对的
编辑:我可以看到您现在正在尝试将makeWmode
函数添加到您的swfobject.js版本中。当然我希望你的代码能正常工作,但是如果我能帮你的话,这里是我的
function makeWMode(id, mode) { // id: the id of the <object> tag of the Flash object; in this case I think it is "content"
var object = swfobject.getObjectById(id);
var params = object.getElementsByTagName("param");
var success = false;
for (var i = 0; i< params.length; i++) {
if (params[i].name.toLowerCase() == "wmode") {
params[i].value = mode;
success = true;
break;
}
}
if (success == false) {
var param = document.createElement("param");
param.name = "wmode";
param.value = "transparent";
object.appendChild(param);
success = true;
return success;
}
}
函数makeWMode(id,mode){//id:Flash对象标记的id;在本例中,我认为它是“content”
var object=swfobject.getObjectById(id);
var params=object.getElementsByTagName(“param”);
var成功=false;
对于(变量i=0;i
使用makeWMode(“content”,“transparent”)
将标记
添加到对象
标记中,但它可能无法与嵌入
标记一起使用 index.html的代码如下所示:
<script type="text/javascript" src="files/swfobject.js">//</script>
<script type="text/javascript" src="files/swfaddress.js">//</script>
<script type="text/javascript" src="files/facebook.js">//</script>
<script type="text/javascript">
var assetsFolder = 'assets';
var mobileFolder = 'mobile';
var changeURL = function(){
if(document.getElementById('hrefMobile'))document.getElementById('hrefMobile').href = dir+mobileFolder+'/index.html';
if(document.getElementById('hrefSEO'))document.getElementById('hrefSEO').href = dir+assetsFolder +'/seo/toc.html';
delete changeURL;
}
if (document.addEventListener){
document.addEventListener("DOMContentLoaded", changeURL, false);
} else {
document.attachEvent("onDOMContentLoaded", changeURL);
}
function afterLoad(){
checkPage();
setFocusOnFlash();
}
function setFocusOnFlash(){
var f=swfobject.getObjectById('content');
if (f) { f.tabIndex = 0; f.focus(); }
}
function getURLParam()
{
var returnObject = {};
var href = window.location.href;
if ( href.indexOf("?") > -1 )
{
var param = href.substr(href.indexOf("?"));
var arrayParam = param.split("&");
returnObject['assets'] = assetsFolder;
for ( var i = 0; i < arrayParam.length; i++ )
{
var value = arrayParam[i].split("=");
returnObject[value[0]] = value[1];
}
}
return returnObject;
}
var dir = "./files/";
var getURI = function(){
var URIArray = document.location.href.split('/');
URIArray.length = URIArray.length-1;
var URIstr = URIArray.join('/');
URIArray = null;
var URIarr = dir.split('/');
URIarr[0] = URIarr[0]=='.'?'':URIarr[0];
var dirStr = URIarr.join('/');
URIstr = URIstr+dirStr;
return URIstr;
}
var swfName = "flippingbook.swf?rnd=44c3b8c18caec0e3862101a6d4de273f";
var ua = navigator.userAgent.toLowerCase(),
platform = navigator.platform.toLowerCase(),
UA = ua.match(/(opera|ie|firefox|chrome|version)[\s\/:]([\w\d\.]+)?.*?(safari|version[\s\/:]([\w\d\.]+)|$)/) || [null, 'unknown', 0],
mode = UA[1] == 'ie' && document.documentMode;
var Browser = {
extend: Function.prototype.extend,
name: (UA[1] == 'version') ? UA[3] : UA[1],
version: mode || parseFloat((UA[1] == 'opera' && UA[4]) ? UA[4] : UA[2]),
Platform: {
name: ua.match(/ip(?:ad|od|hone)/) ? 'ios' : (ua.match(/(?:webos|android|bada|symbian|palm|blackberry)/) || platform.match(/mac|win|linux/) || ['other'])[0]
},
Features: {
xpath: !!(document.evaluate),
air: !!(window.runtime),
query: !!(document.querySelector),
json: !!(window.JSON)
},
Plugins: {}
};
if(Browser.Platform.name == 'android' || Browser.Platform.name == 'ios') window.location = dir+mobileFolder+"/index.html";
if(Browser.Platform.name == 'webos' || Browser.Platform.name == 'bada' || Browser.Platform.name == 'symbian' || Browser.Platform.name == 'palm' || Browser.Platform.name == 'blackberry') window.location = dir+assetsFolder+"/seo/page1.html";
var flashvars = getURLParam();
var params = {baseURI: getURI(), base: dir, allowFullScreen: true, allowScriptAccess: "sameDomain", quality: "high", scale: "noscale",bg:"transparent" };
var attributes = {align: "middle" };
swfobject.embedSWF(dir + swfName, "content", "100%", "100%", "10.0.0", dir + "expressInstall.swf", flashvars, params, attributes);
</script>
//
//
//
var AssetFolder=‘资产’;
var mobileFolder='mobile';
var changeURL=函数(){
if(document.getElementById('hrefMobile'))document.getElementById('hrefMobile')。href=dir+mobileFolder+'/index.html';
if(document.getElementById('hrefSEO'))document.getElementById('hrefSEO')。href=dir+assetsFolder+'/seo/toc.html';
删除changeURL;
}
if(文件增补列表器){
document.addEventListener(“DOMContentLoaded”,changeURL,false);
}否则{
document.attachEvent(“onDOMContentLoaded”,changeURL);
}
函数afterLoad(){
检查页面();
setFocusOnFlash();
}
函数setFocusOnFlash(){
var f=swfobject.getObjectById('content');
如果(f){f.tabIndex=0;f.focus();}
}
函数getURLParam()
{
var returnObject={};
var href=window.location.href;
如果(href.indexOf(“?”>-1)
{
var param=href.substr(href.indexOf(“?”);
var arrayParam=参数拆分(“&”);
returnObject['assets']=资产文件夹;
对于(变量i=0;i