Thử các kết hợp khác nhau của việc đặt vị trí của khung hoặc giá trị băm vẫn không may dẫn đến việc cuộn phụ huynh.
Vì vậy, đây là những gì tôi đã kết thúc vì nội dung của khung nội tuyến nằm trên cùng một tên miền nên không có vấn đề liên quan đến việc điều hướng khung DOM.
Tôi đã sửa đổi các liên kết trong phụ huynh thay vì thực hiện target="myiframe"
, tôi đã thêm chức năng giờ để thực hiện di chuyển bỏ qua việc triển khai mặc định (điều này có vẻ khiến cha mẹ chuyển sang khung nội tuyến).
chức năng
<a onclick="linkFunction(this, event);return false;"...
Các liên kết trông như thế này:
/// for scrolling iframe without jumping parent page
function linkFunction(atag, event) {
event.preventDefault();
var iframe = document.getElementById('myiframe');
var innerDoc = iframe.contentDocument || iframe.contentWindow.document;
var name = atag.href.split('#')[1]; // get the hash
var anchor = innerDoc.getElementsByName(name)[0]; // find the corresponding anchor tag
// get position of the anchor relative to the current scroll position
var offset = anchor.getBoundingClientRect().top
// jump scroll the iframe content to the anchor
iframe.contentWindow.scrollBy(0, offset)
}
Không JQuery và vẫn hoạt động đúng cách nếu Javascript bị vô hiệu (chỉ cần trở lại với nhảy cha mẹ mặc định).
Hy vọng điều này sẽ giúp người khác.
Đã xác minh trong Chromium 17 –
Tôi gặp vấn đề tương tự. Chrome và FF đã được kiểm tra. –