父級和iframe在同一個域中。 iframe具有動態高度並且沒有自己的滾動條 - 滾動條位於父窗口上。滾動父窗口以在iframe中錨定
儘管進行了大量搜索,但我無法找到一種將父窗口滾動到加載時的iframe中的錨點的方式。即iframe網址是abc.com/iframe.html#link,但只加載iframe的頂部是可見的 - 父框架不滾動到#link。有沒有人知道這種方式可以用JavaScript(在父母或iframe或兩者)或其他方式?
感謝
父級和iframe在同一個域中。 iframe具有動態高度並且沒有自己的滾動條 - 滾動條位於父窗口上。滾動父窗口以在iframe中錨定
儘管進行了大量搜索,但我無法找到一種將父窗口滾動到加載時的iframe中的錨點的方式。即iframe網址是abc.com/iframe.html#link,但只加載iframe的頂部是可見的 - 父框架不滾動到#link。有沒有人知道這種方式可以用JavaScript(在父母或iframe或兩者)或其他方式?
感謝
這是可以做到,雖然javascript.Suppose你點擊一個鏈接,而不是錨鏈接它,試試這個:
document.getElementById('id_of_link').scrollIntoView(true);
編輯:約window.parent.scroll什麼(X ,y),其中x,y是通過這種方法檢索到的元件的位置:
function getOffset(el) {
var _x = 0;
var _y = 0;
while(el && !isNaN(el.offsetLeft) && !isNaN(el.offsetTop)) {
_x += el.offsetLeft - el.scrollLeft;
_y += el.offsetTop - el.scrollTop;
el = el.offsetParent;
}
return { top: _y, left: _x };
}
var x = getOffset(document.getElementById('yourElId')).left;
你試過用urlencoding#嗎?
嘗試:%23
謝謝,但我已經嘗試這樣做,因爲這是一個需要不滾動的iframe父不會在iframe工作,它不會滾動,從該id_of_link父母(甚至假設我可以從父母的iframe的哈希值中找到id_of_link)。 –
編輯後的解決方案有時在Chrome中運行,而不是在Firefox中運行。由於原始頁面只與IE9中的鏈接一起工作(不需要JavaScript),所以我決定保持獨立,但感謝您的幫助 - 非常感謝。 –