我已成功更改了IFRAME(as a part of externalizing navigation through Google Document Viewer)位置的哈希值,但我无法弄清楚如何阻止父级跳转到IFRAME的顶部该功能被触发。
有没有人有JS / jQuery解决方案?我发现this Q&A(也在下面),但解决方案似乎很脏,容易出问题。想法?
var yScroll=document.body.scrollTop;
window.location.hash = id;
document.body.scrollTop=yScroll;
另外,作为参考,我使用的功能是:
function st_go_to_pg( pg ){
if( pg >= 0) jQuery('.gde-frame').first()[0].contentWindow.location.hash=':0.page.'+pg;
}
答案 0 :(得分:0)
由于看起来没有人比我在初始问题中包含的更好的解决方案,我想我只是将其作为答案发布。
在不更改父页面的y滚动位置的情况下,更改嵌入文档中页面的结果函数如下:
function go_to_pg( pg ){
var y=document.body.scrollTop; // save parent y to undo jump to top of IFRAME
if( pg >= 0) jQuery('.gde-frame').first()[0].contentWindow.location.hash=':0.page.'+pg;
document.body.scrollTop=y; // reset y
}