2013-08-21 4 views
1

Мне нужно встроить сайт, разработанный для jQuery mobile на обычный веб-сайт, используя iframe. Это работает до сих пор, но родительская страница автоматически прокручивается вниз до вершины iframe, что нежелательно и должно быть предотвращено. Вот код, который у меня есть.Когда внутри iframe JQuery Mobile автоматически переходит на верх iframe

Parent Page (parent.html):

<div style="margin-top:1500px">SPACER</div> 
<iframe src="frame.html" width="660px" frameborder="0" scrolling="no"></iframe> 

Embedded страница (frame.html):

<!DOCTYPE html><html lang="de"> 
<head> 
    <title>Embedded page</title> 
    <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
    <script type="text/javascript" src="//code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>  
</head> 
<body> 
    THIS IS MY TEST 
</body> 
</html> 

Есть мысли, как решить это?

ответ

2

Это связано с тем, что функция jquery mobile's focusPage() вызывает этот эффект прокрутки, поэтому я просто не позволял ей работать, когда внутри iframe.

if (top!==self) { //if iside iframe 
    //don't use focusPage for embedded site to prevent autoscroll 
    $.mobile.focusPage = function (page) { 
     return; 
    } 
} 
+1

Если вам трудно найти этот ... удивительный отзыв –