Flash对象中滚动时防止滚动网页(Prevent webpage from scrolling w

2019-09-23 14:33发布

我敢肯定,这必须是一个常见的问题,但我还没有找到一个答案别处。

我有嵌入在网页长Flash对象。 我听Flash中的MOUSE_WHEEL事件,并相应地滚动我的Flash内容。 然而,当我在滚动Flash对象,网页也滚动。

有什么办法防止这种行为,即锁定网页的滚动位置时,Flash对象具有焦点? 我不希望有使用JavaScript。

Answer 1:

我不不认为这是可能没有JavaScript。

您需要从Flash影片传达给使用浏览器的ExternalInterface每当Flash影片将焦点更改。

然后,对网页陷阱的JavaScript函数,吃鼠标滚轮事件:

if (window.addEventListener)
    /** DOMMouseScroll is for mozilla. */
    window.addEventListener('DOMMouseScroll', handleWheelEvent, false);
/** IE/Opera. */
window.onmousewheel = document.onmousewheel = handleWheelEvent;

function handleWheelEvent(e){
    e.preventDefault();
}


Answer 2:

这里是不需要JavaScript的一个很好的解决方案:

http://www.spikything.com/blog/index.php/2009/11/27/stop-simultaneous-flash-browser-scrolling/

(从技术上讲,它使用JavaScript,但JavaScript是由Flash注入,所以你不需要添加任何东西给自己的HTML页面。换句话说,你需要管理的唯一代码为AS3)。

这似乎是每一个浏览器我测试过努力。



文章来源: Prevent webpage from scrolling when scrolling inside a Flash object