scenariusz:Prevent location.hash w iframe przewijanie okna nadrzędnego w Chrome
Buduję aplikację kiosku, aby uruchomić w Chrome. W nim ładuję element iframe z innej domeny do modalu za pośrednictwem łącza z kotwicą (http: /www.whatever.com/#specific_content).
Problem:
Kiedy który ładuje treści, iframe zeskakuje do #specific_content ale strona dominująca skacze również.
Jest to aplikacja kiosku z jedną stroną, więc pozycja strony nadrzędnej jest bardzo ważna. Rzeczywiste dane scenariusza są nieco bardziej złożone niż po prostu powyżej:
- do hamowania przewijanie w app ma korpus {przelewowy: ukryte;}
- celu umożliwienia pozycjonowania użyć pojemnik owijki ustaw rozmiar okna.
- Aby zasymulować przewijanie, albo całkowicie zmieniam położenie opakowania, albo całkowicie umieszczam zawartość w opakowaniu.
Aby zademonstrować ten problem I utworzyły jsFiddle ale trzeba widzieć wyjście bez chromu jsFiddle aby zobaczyć pełny zakres problemu:
Step 1) Kliknij „Link do zawartości”, że będzie przesunąć opakowanie
Krok 2) Kliknij 'link do ładowania', która będzie załadować zawartość iFrame
Demo: http://jsfiddle.net/w47GT/8/embedded/result/
Fiddle: http://jsfiddle.net/w47GT/8/
Kod:
CSS:
html, body { height:100%; padding:0; margin: 0;overflow:hidden; }
.background {
width : 100%;
height:400%;
background:#333 url('http://incurablystircrazy.files.wordpress.com/2012/04/runner-at-sunset.jpg');
}
.wrapper { position:absolute;width:100%;height:200%; }
iframe { width:50%;height:50%;position:fixed;top:25%;left:50%;margin-left:-25%;border:2px solid red;background-color:#ddd; }
.link { width:100%;height:25px;position:absolute;top:25px;background-color:green; }
.anchor { position:absolute;top:400px;width:100%;height:25px;background-color:red; }
HTML
<div class="wrapper">
<div class="background"></div>
<a class="link" href="#linked">Link to content</a>
<a class="anchor" name="linked" href="http://www.smashingmagazine.com#footer" >Link to Load iFrame</a>
</div>
<iframe></iframe>
JS
$(function(){
$('.link').on('click',function(){ $('.wrapper').css({top:'-400px'}); });
$('.anchor').on('click',function(e){
e.preventDefault();
var href = $(this).prop('href');
$('iframe')
.attr({
src: href,
name: 'testing'
});
});
});
http://stackoverflow.com/questions/14465378/loading-imr-z-anelementem-specyfikowanym-moves-parent-viewpoint-to-the-same – SeinopSys
No cóż, @ DJDavid98 ładnie wykonane. – natepers