Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带有flash内容的iframe html页面为下拉菜单创建问题_Javascript_Html_Css_Flash - Fatal编程技术网

Javascript 带有flash内容的iframe html页面为下拉菜单创建问题

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

我有一个iframe到一个运行Flash swf文件的页面;有人知道如何使它透明,以便我的下拉菜单可以完美地显示吗?敬请告知,我无法编辑源页面(将
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