zoukankan      html  css  js  c++  java
  • flash自适应浏览器大小

    HTML:

    <html debug="true">
    
    <head>
    
    <link rel="icon" href="/favicon.ico" mce_href="/favicon.ico" type="image/x-icon">
    
    <link rel="shortcut icon" href="/favicon.ico" mce_href="/favicon.ico" type="image/x-icon">
    
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    
    <title>【暮光高地】37wan《神曲》双线109服</title>
    
    <!--script type="text/javascript" src="scripts/firebug-lite.js"></script-->
    
    <script type="text/javascript" src="scripts/jquery.js"></script>
    
    <script type="text/javascript" src="scripts/sniffer.js"></script>
    
    <script type="text/javascript" src="scripts/swfobject.js"></script> 
    
    <script type="text/javascript" src="scripts/swf.js"></script>
    
    <script type="text/javascript" src="scripts/shenqu.js"></script> 
    
    <style> 
    
            body,html
    
            {
    
                margin: 0px auto;
    
                padding: 0px; 
    
                background-position:center center;
    
                overflow-x:hidden;
    
                font-size:14px;
    
                color:#FF0000;
    
                text-align:center;
    
            }
    
            #wrap { text-align:left; margin:0 auto; }
    
    </style> 
    
    </head>
    
    
    
    <body scroll="no"  bgcolor="#000000" onLoad="initSwf();checkScreen();"  style="margin:0px;padding:0px;" >
    
        <div id="Main" name="Main" style="100%;height:100%;" >
    
            <div id="MainGame" name="MainGame" style="background:url(framebg02.jpg) center no-repeat;height=100%;100%;"/>
    
        </div>
    
    </body>
    
    </html>

    js:

    View Code
    var bannedFlash = ['10,2,152,26'];
    //如果用户没安装flash,跳转到更新页面提示用户安装
    if(!hasFlash())
    {
    
        window.location.href="UpdateFlash.html";
    }
    
    
    if(getSite().indexOf("duowan_")!=-1)//针对多玩屏蔽js错误
    {
        window.onerror=function()
        {
            return true;
        }
    }
    
    function getParameter(name){
        var params = location.search.replace('?','').split('&');
        for(var i = 0; i < params.length; ++i){
            if(params[i].split("=")[0].toLocaleLowerCase() == name){
                return params[i].split("=")[1];
            }
        }
    }
    
    function CheckFlashVersion(v){
        //alert("banedflash:"+bannedFlash);
        //old Logic
        //for(var i = 0; i < bannedFlash.length; ++i){
            //if(bannedFlash[i] == v){
                //return -1;
            //}
        //}
        //new Logic 小与数组第一个值的版本和等于数字第2个值的版本提示更新
        var browser=jsion.utils.navigator();    
        
        //alert(v);
        if(v<bannedFlash[0]){
            return -1;
        }
        
        
        for(var i = 0; i < bannedFlash.length; ++i){
            if(parseInt(bannedFlash[i].split(',')[0]) > parseInt(v.split(',')[0])){
                return 1;
            }
            else if(parseInt(bannedFlash[i].split(',')[0]) == parseInt(v.split(',')[0])){
                if(parseInt(bannedFlash[i].split(',')[1]) > parseInt(v.split(',')[1])){
                    return 1;
                }
                else if(parseInt(bannedFlash[i].split(',')[1]) == parseInt(v.split(',')[1])){
                    if(parseInt(bannedFlash[i].split(',')[2]) > parseInt(v.split(',')[2])){
                        return 1;
                    }
                    else if(parseInt(bannedFlash[i].split(',')[2]) == parseInt(v.split(',')[2])){
                        if(parseInt(bannedFlash[i].split(',')[3]) > parseInt(v.split(',')[3])){
                            return 1;
                        }
                    }
                }
            }
        }
        return 0;
    }
    
    window["MzBrowser"]=
    {
    };
    (function()
    {
      if(MzBrowser.platform) return;
      var ua = window.navigator.userAgent;
      MzBrowser.platform = window.navigator.platform;
      MzBrowser.firefox = ua.indexOf("Firefox")>0;
      MzBrowser.opera = typeof(window.opera)=="object";
      MzBrowser.ie = !MzBrowser.opera && ua.indexOf("MSIE")>0;
      MzBrowser.mozilla = window.navigator.product == "Gecko";
      MzBrowser.netscape= window.navigator.vendor=="Netscape";
      MzBrowser.safari= ua.indexOf("Safari")>-1;
      if(MzBrowser.firefox) var re = /Firefox(\s|\/)(\d+(\.\d+)?)/;
      else if(MzBrowser.ie) var re = /MSIE( )(\d+(\.\d+)?)/;
      else if(MzBrowser.opera) var re = /Opera(\s|\/)(\d+(\.\d+)?)/;
      else if(MzBrowser.netscape) var re = /Netscape(\s|\/)(\d+(\.\d+)?)/;
      else if(MzBrowser.safari) var re = /Version(\/)(\d+(\.\d+)?)/;
      else if(MzBrowser.mozilla) var re = /rv(\:)(\d+(\.\d+)?)/;
      if("undefined"!=typeof(re)&&re.test(ua))
      MzBrowser.version = parseFloat(RegExp.$2);
    }
    )();
    
    function getSite(){
        var params = location.search.replace('?','').split('&');
        for(var i = 0; i < params.length; ++i){
            if(params[i].split("=")[0].toLocaleLowerCase() == 'site'){
                return params[i].split("=")[1];
            }
        }
        return "";
    };
    function checkScreen()
    {
      //window.moveTo(0,0);   
      //window.resizeTo(screen.width,screen.height);
      var s = 600;   
      if(MzBrowser.ie)
      {
        s=document.body.offsetHeight;
      }
      if(MzBrowser.firefox)
      {
        s=window.innerHeight;
      }
      if(MzBrowser.opera)
      {
        s=document.body.clientHeight;
      }
      var site = getSite();
      if (s<600&&(site.indexOf("duowan_")<0))
      {
        alert('您的游戏画面显示不全,建议您使用全屏显示(按F11)');
      }
    }
    
    function addfavorite(www,name)
    {
      window.external.addFavorite(www,name);
    }
    
    window.jsion = window.jsion || {
        version: "1-0-0",
    
        emptyFn: function() {}
    };
    jsion.isString = function($) {
        return (typeof $ == "object" && $ && $.constructor == String) || typeof $ == "string"
    };
    jsion.swf = jsion.swf || {};
    jsion.event = jsion.event || {};
    jsion.utils = jsion.utils || {};
    jsion.swf.getMovie = function($) {
        return document[$] || window[$]
    };
    jsion.swf.getVersion = function() {
        var B = navigator;
        if (B.plugins && B.mimeTypes.length) {
            var A = B.plugins["Shockwave Flash"];
            if (A && A.description) return A.description.replace(/([a-zA-Z]|\s)+/, "").replace(/(\s)+r/, ".") + ".0"
        } else if (window.ActiveXObject && !window.opera) for (var C = 10; C >= 2; C--) {
            try {
                var _ = new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + C);
                if (_) {
                    return C + ".0.0";
                    break
                }
            } catch($) {}
        }
    };
    jsion.swf.createHTML = function(M) {
        M = M || {};
        var E = jsion.swf.getVersion(),
        J = 1,
        K = M.ver || "6.0.0",
        _,
        $;
        if (E) {
            E = E.split(".");
            K = K.split(".");
            for (var F = 0; F < 3; F++) {
                _ = parseInt(E[F], 10);
                $ = parseInt(K[F], 10);
                if ($ < _) break;
                else if ($ > _) {
                    J = 0;
                    break
                }
            }
        } else J = 0;
        if (!J) return "";
        var G = M.vars,
        D, B, I, L = ["classid", "codebase", "id", "width", "height", "align"];
        M.align = M.align || "middle";
        M.classid = "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000";
        M.codebase = "http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0";
        M.movie = M.url || "";
        delete M.vars;
        delete M.url;
        if (jsion.isString(G)) M.flashvars = G;
        else {
            var C = [];
            for (D in G) {
                I = G[D];
                if (I) C.push(D + "=" + encodeURIComponent(I))
            }
            M.flashvars = C.join("&")
        }
        var H = ["<object "];
        for (F = 0, B = L.length; F < B; F++) {
            I = L[F];
            H.push(" ", I, '="', M[I], '"')
        }
        H.push(">");
        var A = {
            wmode: 1,
            scale: 1,
            quality: 1,
            play: 1,
            loop: 1,
            menu: 1,
            salign: 1,
            bgcolor: 1,
            base: 1,
            allowscriptaccess: 1,
            allownetworking: 1,
            allowfullscreen: 1,
            seamlesstabbing: 1,
            devicefont: 1,
            swliveconnect: 1,
            flashvars: 1,
            movie: 1
        };
        for (D in M) {
            I = M[D];
            if (A[D] && I) H.push('<param name="' + D + '" value="' + I + '" />')
        }
        M.src = M.movie;
        M.name = M.id;
        delete M.id;
        delete M.movie;
        delete M.classid;
        delete M.codebase;
        M.type = "application/x-shockwave-flash";
        M.pluginspage = "http://www.macromedia.com/go/getflashplayer";
        H.push("<embed");
        for (D in M) {
            I = M[D];
            if (I) H.push(" ", D, '="', I, '"')
        }
        H.push("></embed></object>");
        return H.join("")
    };
    jsion.swf.create = function(B, _) {
        B = B || {};
        var A = jsion.swf.createHTML(B),
        $ = true;
        if (_ && jsion.isString(_)) _ = document.getElementById(_);
        if (A.length <= 0) {
            A = B.errorMessage || "";
            $ = false
        }
        if (_) _.innerHTML = A;
        else document.write(A);
        return $
    }
    
    jsion.event.addEvent = function(target, eType, handler){
        if(target.addEventListener){
            target.addEventListener(eType,handler, false);
        }else if(target.attachEvent){
            target.attachEvent("on"+eType,handler);
        }else{
            target["on"+eType]=handler;
        }
    }
    jsion.event.removeEvent = function(target, eType, handler){
        if(target.removeEventListener){//for DOM;
            target.removeEventListener(eType,handler, false);
        }else if(target.detachEvent){
            target.detachEvent("on"+eType,handler);
        }else{
            target["on"+eType]=null;
        }
    }
    
    jsion.utils.minWidth = 1000;
    jsion.utils.minHeight = 600;
    jsion.utils.maxWidth = 1500;
    jsion.utils.maxHeight = 900;
    
    jsion.utils.battleWidth = 1300;
    jsion.utils.battleHeight = 780;
    
    jsion.utils.currentSize = 0;
    jsion.utils.minSize = 1;
    jsion.utils.adaptSize = 2;
    jsion.utils.CurrentScene = 0;//normal,1 battle
    jsion.utils.setMinSize = function(minW, minH){
        minW = minW || 1000;
        minH = minH || 600;
        jsion.utils.minWidth = minW;
        jsion.utils.minHeight = minH;
    }
    jsion.utils.alertAllSize = function(){
        var      s    =    "去掉Html文件的DOCTYPE节方为准确值";
        s    +=    "\r\n网页可见区域宽:"+    document.body.clientWidth;
        s    +=    "\r\n网页可见区域高:"+    document.body.clientHeight;
        s    +=    "\r\n网页可见区域宽:"+    document.body.offsetWidth      +"    (包括边线和滚动条的宽)";
        s    +=    "\r\n网页可见区域高:"+    document.body.offsetHeight    +"    (包括边线的宽)";
        s    +=    "\r\n网页正文全文宽:"+    document.body.scrollWidth;
        s    +=    "\r\n网页正文全文高:"+    document.body.scrollHeight;
        s    +=    "\r\n网页被卷去的高:"+    document.body.scrollTop;
        s    +=    "\r\n网页被卷去的左:"+    document.body.scrollLeft;
        s    +=    "\r\n网页正文部分上:"+    window.screenTop;
        s    +=    "\r\n网页正文部分左:"+    window.screenLeft;
        s    +=    "\r\n屏幕分辨率的高:"+    window.screen.height;
        s    +=    "\r\n屏幕分辨率的宽:"+    window.screen.width;
        s    +=    "\r\n屏幕可用工作区高度:"+    window.screen.availHeight;
        s    +=    "\r\n屏幕可用工作区宽度:"+    window.screen.availWidth;
        s    +=    "\r\n你的屏幕设置是    "+    window.screen.colorDepth    +"    位彩色";
        s    +=    "\r\n你的屏幕设置    "+    window.screen.deviceXDPI    +"    像素/英寸";
        alert(s);
    }
    
    jsion.utils.navigator = function(){
        var Sys = {};
            var ua = navigator.userAgent.toLowerCase();
            var s;
            (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :
            (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] :
            (s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] :
            (s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] :
            (s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;
        
    //    以下进行测试
    //    if(Sys.ie) document.write('IE: '+Sys.ie);
    //    if(Sys.firefox) document.write('Firefox: '+Sys.firefox);
    //    if(Sys.chrome) document.write('Chrome: '+Sys.chrome);
    //    if(Sys.opera) document.write('Opera: '+Sys.opera);
    //    if(Sys.safari) document.write('Safari: '+Sys.safari);
    
        return Sys;
    }
    
    jsion.utils.calcSize = function(width, height){
        var w = width;
        var h = height;
        var Sys = jsion.utils.navigator();
        if(w < jsion.utils.minWidth){w = jsion.utils.minWidth;}
        if(h < jsion.utils.minHeight){h = jsion.utils.minHeight;}
        if(jsion.utils.CurrentScene != 0)
        {
            if(w > jsion.utils.battleWidth){w=jsion.utils.battleWidth;}
            if(h > jsion.utils.battleHeight){h=jsion.utils.battleHeight;}
        }
        else
        {
            if(w > jsion.utils.maxWidth){w=jsion.utils.maxWidth;}
            if(h > jsion.utils.maxHeight){h=jsion.utils.maxHeight;}
        }
        
        w = w - 5; 
        h = h - 5;
        
        return {'w': w, 'h': h};
    }
    
    
    
    function isSafeFlash(v){
        switch(CheckFlashVersion(v)){
            case -1:
                goToUpdatePage();
                break;
            case 0:
                break;
            case 1:
                break;
        }
    }
    
    function goToUpdatePage()
    {
        var div = document.createElement("div");
                div.style.width = parseInt(window.screen.width) + "px";
                div.style.height = parseInt(window.screen.height) * 0.85 + "px";
                div.style.top = 0;
                div.style.left = 0;
                div.style.position = "absolute";
                div.style.background = "white";
                document.body.style.background = "white";
                var centerDiv = document.createElement("div");
                centerDiv.style.width = "100%";
                centerDiv.style.height = "100%";
                centerDiv.style.position = "absolute";
                centerDiv.style.top = 0;
                centerDiv.style.left = 0;
                var centerIframe = document.createElement("iframe");
                centerIframe.setAttribute("frameborder","no");
                centerIframe.setAttribute("border","0");
                centerIframe.setAttribute("marginwidth","0");
                centerIframe.setAttribute("marginheight","0");
                centerIframe.style.width = "100%";
                centerIframe.style.height = "100%";
                centerIframe.style.position = "relative";
                centerIframe.src = "UpdateFlash.html";
                
                document.body.appendChild(div);
                document.body.appendChild(centerDiv);
                centerDiv.appendChild(centerIframe);
    }
    
    var qihoo360 = {};
    qihoo360.user = function(){
        var params = location.search.replace('?','').split('&');
        for(var i = 0; i < params.length; ++i){
            if(params[i].split("=")[0].toLocaleLowerCase() == 'user'){
                return params[i].split("=")[1];
            }
        }
    };
    qihoo360.site = function(){
        var params = location.search.replace('?','').split('&');
        for(var i = 0; i < params.length; ++i){
            if(params[i].split("=")[0].toLocaleLowerCase() == 'site'){
                return params[i].split("=")[1];
            }
        }
    };
    qihoo360.sendevent = function(event,sid,qid){
        try{
            if(sid.indexOf("360_")==0){
                sid="S"+parseInt(parseFloat(sid.replace("360_","")));
                jQuery.ajax({
                        url: "crossdomain.jsp?" + encodeURI("url=http://s.1360.cn/game_event&game=sqol&server=" + sid + "&qid=" + qid + "&event=" + event + "&time=" + Math.round(new Date().getTime()/1000)),
                        type: "get"
                    });
            }
        }
        catch(err){
        }
    }
    //qihoo360.sendevent("pageload",qihoo360.site(),qihoo360.user());
    
    function initSwf(){
        //qihoo360.sendevent("beforeloadflash",qihoo360.site(),qihoo360.user());
        
        var flashvars = {
            user: getParameter("user"),//"<%=request.getParameter("user")%>",
            key: getParameter("key"),//"<%=request.getParameter("key")%>",
            site: getParameter("site"),//"<%=request.getParameter("site")%>"
            p2: getParameter("p2"),//"<%=request.getParameter("p2")%>"
            rid: getParameter("rid")//"<%=request.getParameter("rid")%>"
        };
        
        var params = {
            menu: "false",
            quality : "high",
            AllowScriptAccess : "always"
        };
        
        var attributes = {
            id: "GameSwf",
            name: "GameSwf"
        };
        
        
         var Sys=jsion.utils.navigator();
         var r=Sys.ie?Math.random():"sEedee98";
        
        swfobject.embedSWF("Loading.swf?rnd="+r, "MainGame", "100%", "100%", "10.0.0", null, flashvars, params, attributes); 
    
        addResizeEvent();
        
    }
    //Swf内有相应调用接口,位于JsHelper.as
    function setMinSize(minW, minH){
        jsion.utils.setMinSize(minW, minH);
        jsion.swf.getMovie("GameSwf").width = jsion.utils.minWidth;
        jsion.swf.getMovie("GameSwf").height = jsion.utils.minHeight;
    }
    //Swf内有相应调用接口,位于JsHelper.as
    function setSelfAdapting(){
        resizeSwfObject();
    }
    function isSelfAdapting(value)
    {
        _isSelfAdapting = value;
    }
    function setCurrentScene(value)
    {
        jsion.utils.CurrentScene = value;
        resizeSwfObject();
    }
    function addResizeEvent(){
         
        jsion.event.addEvent(window, 'resize', resizeSwfObject);
    }
    
    var _isSelfAdapting = true;
    function resizeSwfObject(){
        var width = document.body.clientWidth+5;
        var height = document.body.clientHeight+5;
        var size = jsion.utils.calcSize(width, height);
        jsion.swf.getMovie("GameSwf").width = size.w;
        jsion.swf.getMovie("GameSwf").height = size.h;
        setTimeout(function(){var width = document.body.clientWidth+5;
        var height = document.body.clientHeight+5;
        var size = jsion.utils.calcSize(width, height);
        jsion.swf.getMovie("GameSwf").width = size.w;
        jsion.swf.getMovie("GameSwf").height = size.h;},500);
    }
    function setCookie(key, value) {
        var date = new Date();
        //date.setTime(date.getTime()+1000*60);
        document.cookie = '' + key + '=' + value + ';path=/' + ';domaim=7road.com' + ':secure';
    }
    
    function getCookie(key) {
        var allcookies = document.cookie;
        var cookie_pos = allcookies.indexOf(key);
        // 如果找到了索引,就代表cookie存在,
        // 反之,就说明不存在。
        if (cookie_pos != -1) {
            // 把cookie_pos放在值的开始,只要给值加1即可。
            cookie_pos += key.length + 1;
            var cookie_end = allcookies.indexOf(";", cookie_pos);
            if (cookie_end == -1) {
                cookie_end = allcookies.length;
            }
            var value = unescape(allcookies.substring(cookie_pos, cookie_end));
            return value;
        }
        return "";
    }
    
    var allowLeave = 1;
    var wwwdata="";
    var namedata="";
    window.onbeforeunload = function(e)
    {
      if(wwwdata!="")
      {
        window.external.AddFavorite(wwwdata, namedata);
        return;
      }
      
      var browser = navigator.appName;
      if(allowLeave==1)
      {  
        var unfinishedInfo;
        try
        {
            var flashobj=jsion.swf.getMovie("GameSwf");
            if(flashobj&&flashobj.getUnfinishedInfo)
            {
                unfinishedInfo=flashobj.getUnfinishedInfo();             
            }
            if(!unfinishedInfo){
                    unfinishedInfo='当前操作将退出货币战争游戏,是否继续?';
                }
        }
        catch(e)
        {
            unfinishedInfo='当前操作将退出货币战争游戏,是否继续?';
        }
         if (browser == "Netscape") 
         {
           e.preventDefault();
           
           //return '当前操作将退出神曲游戏,是否继续?';
           return unfinishedInfo;
         } 
         else 
         {
           //window.event.returnValue = '当前操作将退出神曲游戏,是否继续?';
           window.event.returnValue = unfinishedInfo;
         }
      }
      else if(allowLeave==3)//当玩家第一次登陆游戏后,关闭浏览器时 2011-11-28 Action  add
      { 
         
         if (browser == "Netscape") 
         {
           e.preventDefault();
           return "明日上线可立即领取:\n\n★ 活动奖励:海量经验,体力药水免费送。\n★ 神树宝箱:礼金黄金送不停。\n★ 签到奖励:神秘道具,神奇宝石等您领。\n★ 登陆任务:商城道具全免费!\n";
         } 
         else 
         {
           window.event.returnValue = "明日上线可立即领取:\n\n★ 活动奖励:海量经验,体力药水免费送。\n★ 神树宝箱:礼金黄金送不停。\n★ 签到奖励:神秘道具,神奇宝石等您领。\n★ 登陆任务:商城道具全免费!\n";
         }
      }
    }
    function setAllowLeave()
    {
      allowLeave = 2;  
    }
    //2011-11-28 Action  add
    function setFirstLeave()
    {
        allowLeave = 3; 
    }
    function addfavorite(www,name)
    {
      wwwdata=www;
      namedata=name;  
    }
    
    function addToFavorite()
    {
        try{
            external.AddToFavoritesBar(wwwdata,namedata,'');//IE8
        }
        catch(e){
            try {
                window.external.addFavorite(wwwdata, namedata);
            } catch(e) {
                try {
                    window.sidebar.addPanel(namedata, wwwdata, "");//firefox
                } catch(e) {
                    alert("该浏览器不支持此功能,请使用Ctrl+D进行添加");
                }
            }
        }
    }
    
    //判断用户是否安装有flash
    function hasFlash()
    {
    
        var exist=false;
        var isIE = navigator.userAgent.indexOf("MSIE")>0;
        var swf;
        
        if(isIE)
        {
            try
            {
                swf = new ActiveXObject('ShockwaveFlash.ShockwaveFlash'); 
                if(swf) 
                {
                    exist=true;        
                }
            }
            catch(e)
            {
                return false;
            }
        }
        else
        {
            if (navigator.plugins && navigator.plugins.length > 0)
            {
                swf=navigator.plugins["Shockwave Flash"];
                if (swf)
                {
                    exist=true;
                }
            }
        }
        swf=null;//设置为null,垃圾回收
        return exist;
    }
  • 相关阅读:
    20192329 2020-2021-1 《数据结构与面向对象程序设计》课程总结
    20192329 2020-2021-1《数据结构与面向对象程序设计》实验九报告
    20192329李元和《数据结构与面向对象程序设计》实验八报告
    20192329 2020-2021-1《数据结构与面向对象程序设计》实验七报告
    学号 20192329 李元和《数据结构与面向对象程序设计》实验六报告
    20192329 李元和 2020-2021-1《数据结构与面向对象程序设计》实验五报告
    学号20192329 2020-2021-1《数据结构与面向对象程序设计》实验四报告
    学号 20192329 李元和《数据结构与面向对象程序设计》实验三报告
    学号 20192329 李元和《数据结构与面向对象程序设计》实验二报告
    学号 20192329 李元和《数据结构与面向对象程序设计》实验一报告
  • 原文地址:https://www.cnblogs.com/as3lib/p/2658400.html
Copyright © 2011-2022 走看看