【原】可关闭,可重播的flash弹出广告代码
2014-06-25 00:00
253 查看
以前都是下别人的过来改,老是出现各种各样的莫名其妙的问题。今天终于爆发了。自己写了一个。还是学到一些东西的。不多说,上代码:
代码
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="width:
'
+
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;width:
'
+
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="width: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
+=
"
width:
"
+
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
+=
"
width: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({width:
700
,height:
275
});
12
popFlash.show();
13
</
script
>
14
</
body
>
15
</
html
>
init的参数可以参照源码中的options对象,缺省的可以不写
代码
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="width:
'
+
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;width:
'
+
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="width: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
+=
"
width:
"
+
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
+=
"
width: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({width:
700
,height:
275
});
12
popFlash.show();
13
</
script
>
14
</
body
>
15
</
html
>
init的参数可以参照源码中的options对象,缺省的可以不写
相关文章推荐
- 【原】可关闭,可重播的flash弹出广告代码
- flash对联广告代码: 两边显示 不移动 可关闭
- flash对联广告代码: 两边显示 不移动 可关闭
- flash对联广告代码: 两边显示 不移动 可关闭
- flash对联广告代码: 两边显示 不移动 可关闭
- 完美仿MSN右下角弹出广告代码并可自动消失,附带关闭按钮
- js退弹 IE关闭时弹出广告代码,可以防止屏蔽
- 网页弹出广告代码
- 弹出广告特效代码(一个IP只弹出一次)
- 46 套代码flash+xml轮播首页广告代码,很经典的
- NoAds 2006.07.28(可以自动关闭网页浏览时弹出的广告小视窗)zkacb汉化版
- FLASH广告完全揭密 搜狐体育频道FLASH广告JS调用代码
- 图互换flash+xml长方圆角广告代码
- 弹出广告特效(一个IP只弹出一次)的代码
- 弹出广告特效(一个IP只弹出一次)的代码
- 站长站弹出广告代码
- FLASH全屏,左右侧,闪烁广告及对"错觉"的代码补充.
- Flash对联广告的关闭按钮讨论
- firefox弹出窗口关闭时执行代码--刷新父窗口