jQuery прокрутить до верхней части родительского iframe

У меня есть iF, rame с формой обратной связи. После того, как пользователь нажмет кнопку «Отправить», я хочу использовать родительское окно для прокрутки вверх. Я знаю, что могу прокрутить вверх страницы с помощью:

$('html, body').animate({scrollTop:0}, 'slow');

Однако при этом будет прокручиваться только содержимое iframe, а не родительская страница. Какие-либо предложения?

Ответы на вопрос(5)

Решение Вопроса

Попробуйте для этого:

window.parent.$("body").animate({scrollTop:0}, 'slow');
 iltdev27 сент. 2010 г., 18:01
Это, кажется, сделало трюк! Спасибо :)
 devXen05 окт. 2011 г., 01:55
Вам не нужен jquery, если вам не нужна анимация, используйте window.parent.window.scrollTo (0,0); Они должны находиться в одном домене по соображениям безопасности.
 sellmeadog26 авг. 2011 г., 02:01
Я знаю, что на этот вопрос ответили почти год назад, но когда я пытаюсь это сделать, я получаю следующую ошибку:TypeError: Property '$' of object [object DOMWindow] is not a function. Используя консоль JavaScript в Google Chrome, я вижу$ функция определена наwindow.parent но когда я углубляюсь в это, он говорит, что это не определено. Есть ли причина, по которой этот ответ может быть недействительным?

Это, кажется, делает трюк также:

$('html, body', window.parent.document).animate({scrollTop:0}, 'slow');

второй параметр в$ это контекст для поиска.

На странице Iframe.

window.parent.ScrollToTop(); // Scroll to top function

На странице Parrent:

window.ScrollToTop = function(){
  $('html,body', window.document).animate({
    scrollTop: '0px'
  }, 'fast');
};
 Nubian06 окт. 2017 г., 10:31
Работает ли междоменный?
<script>
    jQuery(document).ready(function($) {
        FB.Canvas.scrollTo(0,0);
        FB.Canvas.setSize({width: 760, height:$('body').height()+20});
    });

    function scrollTo(x,y) {
        $("body").append('<iframe id="scrollTop" style="border:none;width:1px;height:1px;position:absolute;top:-10000px;left:-100px;" src="http://static.ak.facebook.com/xd_receiver_v0.4.php?r=1#{%22id%22%3A0%2C%22sc%22%3Anull%2C%22sf%22%3A%22%22%2C%22sr%22%3A2%2C%22h%22%3A%22iframeOuterServer%22%2C%22sid%22%3A%220.957%22%2C%22t%22%3A0}[0%2C%22iframeInnerClient%22%2C%22scrollTo%22%2C{%22x%22%3A'+x+'%2C%22y%22%3A'+y+'}%2Cfalse]" onload="$(\'#scrollTop\').remove();"></iframe>');
    }
</script>
 thaddeusmt26 мая 2013 г., 02:01
В этом ответе мало объяснений ... это приложение для Facebook. Но я пытался решить эту проблему для приложения iFrame (canvas) Facebook, поэтомуFB.Canvas.scrollTo(0,0); было именно то, что мне было нужно.
 Murtaza Khursheed Hussain20 сент. 2012 г., 07:34
FB.Canvas. scrollTo (0,0); это очень полезно ищу дни. Спасибо

<body onLoad="window.parent.scroll(0,0);">

В теле html-страницы iframe

Это так просто, как вы можете сделать!

Ваш ответ на вопрос