• 【原】可关闭,可重播的flash弹出广告代码


    以前都是下别人的过来改,老是出现各种各样的莫名其妙的问题。今天终于爆发了。自己写了一个。还是学到一些东西的。不多说,上代码:
    代码
      1 var popFlash = new Object();
      2 popFlash = {
      3     //初始化
      4     init : function(options){
      5         if(typeof(options)!='object'){
      6             return false;
      7         }
      8         //初始化参数
      9         this.options = { 
     10             //广告显示宽度
     11             width : (options.width ? options.width : 500),
     12             //广告显示高度
     13             height : (options.height ? options.height : 300),
     14             //广告显示时长
     15             showTime : (options.showTime ? options.showTime : 5000),
     16             //广告插件基准路径
     17             basePath : (options.bathPath ? options.basePath : ""),
     18             //swf文件名
     19             swfSrc : (options.swfSrc ? options.swfSrc : "ad.swf"),
     20             //缩略图文件名
     21             iodSrc : (options.iocSrc ? options.iocSrc : "ioc.gif"),
     22             //广告指向的链接
     23             adHref : (options.adHref ? options.adHref : "about:blank")
     24         }
     25     },
     26     
     27     //拼装打开状态的html
     28     createOpenedHtml : function() {
     29         var openedHtml = "";
     30         openedHtml += '<div id="openedLayer" style="'+ this.options.width +'px; height:'+ this.options.height +'px; display:block;">';
     31         openedHtml += '<div style="position:relative">';
     32         openedHtml += '<div id="closer" style="cursor:pointer;" onclick="javascript:popFlash.hidden();" >';
     33         openedHtml += '<img src="'+this.options.basePath+'closer.gif" border="0"/>';
     34         openedHtml += '</div>';
     35         openedHtml += '<a href="'+ this.options.adHref +'" target="_blank" style="padding:0;margin:0;position:absolute;">';
     36         openedHtml += '<img src="'+ this.options.basePath+'blank.gif" width="'+ this.options.width +'" height="'+ this.options.height +'" border="0"  />';
     37         openedHtml += '</a>';
     38         openedHtml += '<OBJECT id="swfObj" codeBase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0 height='+this.options.height;
     39         openedHtml += ' width='+this.options.width+' classid=clsid:d27cdb6e-ae6d-11cf-96b8-444553540000>';
     40         openedHtml += '<PARAM NAME="_cx" VALUE="20320"/><PARAM NAME="_cy" VALUE="2117"/>';
     41         openedHtml += '<PARAM NAME="FlashVars" VALUE=""/><PARAM NAME="Movie" VALUE="'+this.options.basePath+this.options.swfSrc+'"/>';
     42         openedHtml += '<PARAM NAME="Src" VALUE="'+this.options.basePath+this.options.swfSrc+'"/><PARAM NAME="WMode" VALUE="Transparent"/>';
     43         openedHtml += '<PARAM NAME="Play" VALUE="-1"/><PARAM NAME="Loop" VALUE="-1"/>';
     44         openedHtml += '<PARAM NAME="Quality" VALUE="High"/><PARAM NAME="SAlign" VALUE=""/>';
     45         openedHtml += '<PARAM NAME="Menu" VALUE="0"/><PARAM NAME="Base" VALUE=""/>';
     46         openedHtml += '<PARAM NAME="AllowScriptAccess" VALUE="always"/><PARAM NAME="DeviceFont" VALUE="0"/>';
     47         openedHtml += '<PARAM NAME="EmbedMovie" VALUE="0"/><PARAM NAME="BGColor" VALUE=""/>';
     48         openedHtml += '<PARAM NAME="SWRemote" VALUE=""/><PARAM NAME="MovieData" VALUE=""/>';
     49         openedHtml += '<PARAM NAME="SeamlessTabbing" VALUE="1"/><PARAM NAME="Profile" VALUE="0"/>';
     50         openedHtml += '<PARAM NAME="ProfileAddress" VALUE=""/><PARAM NAME="ProfilePort" VALUE="0"/>';
     51         openedHtml += '<PARAM NAME="AllowNetworking" VALUE="all"/><PARAM NAME="AllowFullScreen" VALUE="false"/>';
     52         openedHtml += '<embed allowscriptaccess="always" menu="false" width="'+this.options.width+'" height="'+this.options.height+'" wmode="Transparent" ';
     53         openedHtml += 'src="'+this.options.basePath+this.options.swfSrc+'" quality="high"';
     54         openedHtml += 'pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" name="swfObj"></embed>';
     55         openedHtml += '</OBJECT>';
     56         openedHtml += '<iframe id="asdIframe" src="about:blank" style="position:absolute; visibility:inherit;'+this.options.width+'px;height:'+this.options.height+'px; ';
     57         openedHtml += 'z-index:-1;filter:Alpha(Opacity=0); opacity:0.0; MozOpacity:0.0; KhtmlOpacity:0.0;left:0px;top:0px;"></iframe>';
     58         openedHtml += '</div>';
     59         openedHtml += '</div>';
     60         
     61         return openedHtml;
     62     },
     63     
     64     //拼装关闭状态的html
     65     createClosedHmtl : function(){
     66         var closedHtml = '';
     67         closedHtml += '<div id="closedLayer" style="position:absolute;left:0px;top:0px; display:block;">';
     68         closedHtml += '<img src="'+this.options.basePath+'ioc.gif" />';
     69         closedHtml += '<div style="76px;padding:2px;height:15px;">';
     70         closedHtml += '<div style="float:left;">';
     71         closedHtml += '<img src="'+this.options.basePath+'replay_little.gif" border="0" onclick="popFlash.show();" style="cursor:pointer" />';
     72         closedHtml += '</div>';
     73         closedHtml += '<div style="float:right">';
     74         closedHtml += '<img src="'+this.options.basePath+'close_little.gif" border="0" onclick="popFlash.closeAd();" style="cursor:pointer" />';
     75         closedHtml += '</div>';
     76         closedHtml += '</div>';
     77         closedHtml += '</div>';
     78         return closedHtml;
     79     },
     80     
     81     //显示广告
     82     show : function(){
     83         //隐藏关闭状态
     84         var closedLayer = document.getElementById("closedLayer");
     85         if(closedLayer && closedLayer.style.display == "block") {
     86             closedLayer.style.display = "none";
     87         }
     88         //显示打开状态
     89         var openedLayer = document.getElementById("openedLayer");
     90         if( openedLayer && openedLayer.style.display == "none"){
     91             openedLayer.style.display = "block";
     92         }else{
     93             //document.writeln(popFlash.createOpenedHtml());
     94             document.body.innerHTML += popFlash.createOpenedHtml();
     95         }
     96         popFlash.setPosition();
     97         
     98         //到了显示时长就影藏
     99         this.timer = setTimeout("popFlash.hidden()"this.options.showTime);
    100         
    101     },
    102     
    103     //影藏广告
    104     hidden : function(){
    105         clearTimeout(this.timer);
    106         //影藏打开装态
    107         var openedLayer = document.getElementById("openedLayer");    
    108         if (openedLayer && openedLayer.style.display == "block") {
    109             openedLayer.style.display = "none";
    110         }
    111         
    112         //显示关闭状态
    113         var closedLayer = document.getElementById("closedLayer");
    114         if( closedLayer && closedLayer.style.display == "none"){
    115             closedLayer.style.display = "block";
    116         }else{
    117             //document.writeln(popFlash.createClosedHmtl());
    118             document.body.innerHTML += popFlash.createClosedHmtl();
    119         }
    120         popFlash.setPosition();
    121     },
    122     
    123     //彻底关闭广告
    124     closeAd : function(){
    125         var openedLayer = document.getElementById("openedLayer");
    126         var closedLayer = document.getElementById("closedLayer");
    127         
    128         if(openedLayer){
    129             openedLayer.innerHTML = "";
    130         }
    131         if(closedLayer){
    132             closedLayer.innerHTML = "";
    133         }
    134     },
    135     
    136     //设置广告显示的位置
    137     setPosition : function(){
    138         var openedLayer = document.getElementById("openedLayer");
    139         var closedLayer = document.getElementById("closedLayer");
    140             
    141         if(openedLayer){
    142             var marginLeft = this.options.width/2;
    143             var marginTop = this.options.height/2;
    144             var css = "position:absolute;top:50%;left:50%;margin-left:-"+ marginLeft +"px;margin-top:-"+ marginTop +"px;";
    145             css += ""+this.options.width+"px;height:"+this.options.height+"px;";
    146             
    147             openedLayer.style.cssText += css;
    148         }
    149         
    150         if(closedLayer){
    151             var css = "position:absolute;top:50%;left:100%;margin-left:-100px;margin-top:-40px;";
    152             css += "80px;height:80px;";
    153             
    154             closedLayer.style.cssText += css;
    155         }
    156     }    
    157 }

    使用方法也很简单:

    代码
     1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     2 <html xmlns="http://www.w3.org/1999/xhtml">
     3 <head>
     4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     5 <title>无标题文档</title>
     6 <script type="text/javascript" language="javascript" src="popFlash.js"></script>
     7 </head>
     8 
     9 <body>
    10 <script>
    11     popFlash.init({700,height:275});
    12     popFlash.show();
    13 </script>
    14 </body>
    15 </html>

    init的参数可以参照源码中的options对象,缺省的可以不写

  • 相关阅读:
    SharePoint 集成OWA概述
    SharePoint Online 创建和使用栏
    SharePoint Online 创建资产库
    SharePoint Online 创建图片库
    SharePoint Online 创建文档库
    SharePoint Online 创建列表库
    SharePoint Online 设置网站集
    SharePoint Online 创建网站集
    SharePoint Online 创建用户和组
    【BLE】CC2541之发现服务与特征值
  • 原文地址:https://www.cnblogs.com/coffee/p/1662902.html
Copyright © 2020-2023  润新知