我也在学,我也纠结。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 编辑 ]