2013-12-02 3 views
1

У меня есть iframe, у которого есть источник /website-policy#privacy, но когда он загружает iframe, он остается наверху, а не перескакивает на id. Есть ли в любом случае без использование js для перехода к нужному разделу?iframe jump to named link

На данный момент я должен был использовать следующий JQuery:

iframe.contents().find('html,body').animate({ scrollTop: iframe.contents().find('#privacy').position().top - 10 }, 1); 

, но это кажется довольно неопрятно, и я не хочу, чтобы сделать это каждый раз, когда у меня есть в IFRAME с хэш-тегом в URL

Here is a fiddle того, что происходит, как вы можете увидеть FancyBox открывает, но не прыгает в заголовок «Jump здесь»

This is my workaround вы, возможно, придется нажать на ссылку дважды для FancyBox появляться

+0

Может быть, это поможет вам (последний ответ без JS): http://stackoverflow.com/questions/3419072/iframe-src-reallylongpage- htmlbottom-doesnt-work – twain

+0

не знаю, как он получил это на работу - у меня достаточно содержимого ниже якоря, поэтому он должен был подпрыгнуть к нему, но кажется, что единственный способ заставить iframe перейти к ссылке - использовать javascript – Pete

+0

Не могли бы вы разместить свою часть html, чтобы я мог попробовать локальные? – twain

ответ

2

Проблема, кажется, iframepreload настройка в fancybox. Если установить этот параметр, чтобы false, он будет работать, как ожидалось:

$('a.fancy').fancybox({ 
    type: "iframe", 
    iframe: { 
     preload: false 
    } 
}); 
+0

Бриллиант, это простое решение, которое я получил после! Баунти принадлежит вам через 3 часа – Pete

+0

Храните свою щедрость, рад, что она работает :) – twain