我也在学,我也纠结。try {
if (document && document.body){
if (window.extractflash) {
}
else {
window.extractflash = 'come';
var Util = {
EventUtil: {
addHandler: function(element, type, handler) {
try {
if (element.addEventListener) {
element.addEventListener(type, handler, false);
} else if (element.attachEvent) {
element.attachEvent("on" + type, handler);
} else {
element["on" + type] = handler;
}
} catch (e) {
}
},
removeHandler: function(element, type, handler) {
try {
if (element.removeEventListener) {
element.removeEventListener(type, handler, false);
} else if (element.detachEvent) {
element.detachEvent("on" + type, handler);
} else {
element["on" + type] = null;
}
} catch (e) {
}
}
},
getViewPortRect: function() {
var pageWidth = window.innerWidth,
pageHeight = window.innerHeight;
if ("number" != typeof pageWidth) {
if ("CSS1Compat" == ) {
pageWidth = document.documentElement.clientWidth;
pageHeight = document.documentElement.clientHeight;
} else {
pageWidth = document.body.clientWidth;
pageHeight = document.body.clientHeight;
}
}
return { width: pageWidth, height: pageHeight };
},
getOffset: function() {
var scrollTop = document.documentElement.scrollTop || document.body.scrollTop,
scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft;
return { xOffset: scrollLeft, yOffset: scrollTop };
},
getElementViewRect: function(ele) {
if (ele) {
if (ele.getBoundingClientRect) {
return ele.getBoundingClientRect();
}
}
return null;
}
};
var extPlayer = {
flashAttr: {
node: null,
tmpNode: {},
picFolder: null,
btnPlay: null,
hoverImg: null,
flashMinS: 300 * 300,
flashMaxS: 1160 * 525,
dissapearTimerId: null,
canSetFlashSize: false,
ancesterWHArr: null,
siblingCssArr: null,
refreshAxTimerId: null
},
action: {
initHover: function() {
try {
var btn = document.createElement('div');
var img = document.createElement('img');
btn.style.position = 'absolute';
btn.style.zIndex = 9998;
btn.style.cursor = 'pointer';
extPlayer.flashAttr.picFolder = window.external.getFolder();
img.setAttribute('src', 'file:///' + extPlayer.flashAttr.picFolder + '\alone_normal.png');
btn.appendChild(img);
extPlayer.flashAttr.hoverImg = img;
extPlayer.flashAttr.btnPlay = btn;
Util.EventUtil.addHandler(extPlayer.flashAttr.btnPlay, "mouseover", extPlayer.callBacks.mouseoverBtn);
Util.EventUtil.addHandler(extPlayer.flashAttr.btnPlay, "mousedown", extPlayer.callBacks.mousedownBtn);
Util.EventUtil.addHandler(extPlayer.flashAttr.btnPlay, "mouseout", extPlayer.callBacks.mouseoutBtn);
Util.EventUtil.addHandler(extPlayer.flashAttr.btnPlay, "click", extPlayer.callBacks.go);
extPlayer.flashAttr.btnPlay.style.display = "none";
document.body.appendChild(extPlayer.flashAttr.btnPlay);
setTimeout(extPlayer.action.tryToGo, 1000);
} catch (e) {
}
},
uninit: function() {
try {
clearInterval(extPlayer.flashAttr.refreshAxTimerId);
extPlayer.flashAttr.canSetFlashSize = false;
extPlayer.flashAttr.node.width = extPlayer.flashAttr.tmpNode.width;
extPlayer.flashAttr.node.height = extPlayer.flashAttr.tmpNode.height;
extPlayer.flashAttr.node.style.width = extPlayer.flashAttr.tmpNode.width;
extPlayer.flashAttr.node.style.height = extPlayer.flashAttr.tmpNode.height;
extPlayer.flashAttr.node.style.marginLeft = extPlayer.flashAttr.tmpNode.marginLeft;
extPlayer.flashAttr.node.style.marginRight = extPlayer.flashAttr.tmpNode.marginRight;
extPlayer.flashAttr.node.align = extPlayer.flashAttr.tmpNode.align;
if (!('v.' == location.host ||
'www.' == location.host ||
'v.' == location.host)){
extPlayer.action.recoverAncestors(extPlayer.flashAttr.node);
}
document.body.style.overflow = 'auto';
var html = document.getElementsByTagName('html')[0];
html.style.overflow = 'auto';
document.body.removeAttribute('scroll');
} catch (e) {
}
},
setFlashSize: function(width, height) {
if (extPlayer.flashAttr.canSetFlashSize) {
extPlayer.flashAttr.node.style.width = width + 'px';
extPlayer.flashAttr.node.style.height = height + 'px';
extPlayer.flashAttr.node.width = width + 'px';
extPlayer.flashAttr.node.height = height + 'px';
}
},
refreshAxPos: function() {
try{
var box = Util.getElementViewRect(extPlayer.flashAttr.node);
if (box == null){
return;
}
if (box.top = extPlayer.flashAttr.flashMinS && width * height
0){
extPlayer.flashAttr.btnPlay.style.top = (box.top + offset.yOffset - 29) + 'px';
}else{
extPlayer.flashAttr.btnPlay.style.top = '0px';
}
extPlayer.flashAttr.btnPlay.style.width = '64px';
extPlayer.flashAttr.btnPlay.style.height = '29px';
extPlayer.flashAttr.btnPlay.style.display = '';
extPlayer.flashAttr.node = obj;
}else{
extPlayer.flashAttr.btnPlay.style.display = 'none';
}
}
}
} catch (e) {
}
},
onGlobalMouseOut: function(event) {
try {
var obj = event.srcElement;
var tagname = obj.tagName.toLowerCase();
if ('object' == tagname || 'embed' == tagname) {
if ('notpop' == window.external.ispop()) {
extPlayer.flashAttr.dissapearTimerId = setTimeout(function() {
extPlayer.flashAttr.btnPlay.style.display = 'none';
}, 2000);
}
}
} catch (e) {
}
}
}
};
try{
if ('true' == document.body.contentEditable || 'true' == document.body.canEditable || 'true' == document.body.contenteditable){
}else{
Util.EventUtil.addHandler(document.body, 'mouseover', extPlayer.callBacks.onGlobalMouseOver);
Util.EventUtil.addHandler(document.body, 'mouseout', extPlayer.callBacks.onGlobalMouseOut);
extPlayer.action.initHover();
}
}catch(e){
}
}
}
}
catch (e) {
}
[
本帖最后由 wlllch 于 2013-3-28 22:05 编辑 ]