2016-01-06 100 views
9

我的页面跳转到时候我嵌入这个GDrive的iframe中,一旦你点击了iframe顶部:页面跳转到顶部点击iframe中时

<iframe height="400px" frameborder="0" width="600px" src="https://docs.google.com/document/d/1u9NFjTPBd-9mucQUPvkqLP84iV6uaEcJNF5vQdHmYh8/edit?usp=sharing&rm=embedded"></iframe> 

的jsfiddle:https://jsfiddle.net/0qpe53os/

问题:为什么它这样做,我如何防止它这样做?

我试图preventDefault没有任何运气。提前感谢您的帮助。

+0

Mybe这可以帮助你http://stackoverflow.com/questions/26017978/iframe-causes-parent-elements-to-scroll-up-on-google-chrome-when-url-contains-fr – elTomato

+0

请看这里:http://stackoverflow.com/questions/26017978/iframe-causes-parent-elements-to-scroll-up-on-google-chrome-when-url-contains-fr – leodido

回答

-2

您可以使用javascript检查iframe是否为活动元素,并在其处于活动状态时跳转回活动元素。

if(document.activeElement.tagName == 'IFRAME') { document.activeElement.scrollIntoView() }

的工作示例,请参见本Jsfiddle

1

我不确定这是否有用。顺便说一下,您可以使用onload属性向下滚动页面: onload =“scroll(0,screen.height);”

<iframe height="400px" frameborder="0" width="600px" src="https://docs.google.com/document/d/1u9NFjTPBd-9mucQUPvkqLP84iV6uaEcJNF5vQdHmYh8/edit?usp=sharing&rm=embedded" onload="scroll(0,screen.height);"></iframe> 
0

从我的调查,它不是由iframe本身引起的。它的原因是嵌入式Google文档执行的JavaScript。当google文档的编辑区域收到焦点时,会发生这种情况。如果您访问菜单区域,则不会发生任何事情,除非导致某些内容被添加到编辑区域。我试图限制带有sandbox属性的iframe,并且这种行为不会再发生,但是当然你不能使用google文档。

对不起,没有解决方案建议。