Hej, usiłuję zrobić na wybranych stronach by scroll przewijał się dokładnie za baner główny.
Używam takiego skryptu:
<script type='text/javascript'><!--
// November 3, 2009, http://www.willmaster.com/
// Copyright 2009 Bontrager Connection, LLC
function AutoScrollOnload() {
// Specify how many pixels from the left
// and how many down from the top to
// automatically scroll the page.
var InFromLeft = 0;
var DownFromTop = 550;
// No other customization required.
window.scrollTo(InFromLeft,DownFromTop);
}
function AddOnloadEvent(f) {
if(typeof window.onload != 'function') { window.onload = f; }
else {
var cache = window.onload;
window.onload = function() {
if(cache) { cache(); }
f();
};
}
}
AddOnloadEvent(AutoScrollOnload);
//--></script>
Natknąłem się na paradoks. Tzn kiedy wstawiam ten skrypt w viewthread.php wszystko działa do czasu gdy ktoś nie zacznie używać #post_id
Przykład:
viewthread.php?thread_id=55#post_170
Viewthread wtedy przy ładowaniu strony przeskakuje na ten id posta, ale tylko na chwilę by potem zaraz wrócić na pozycję która określona jest w skrypcie AutoScrollOnload.
Więc pomyślałem że rozwiążę ten problem przez ifa:
$protokol= $_SERVER['SERVER_PROTOCOL'];
$domena = $_SERVER['HTTP_HOST'];
$skrypt= $_SERVER['SCRIPT_NAME'];
$parametry = $_SERVER['QUERY_STRING'];
$obecnyadres = $protokol. '://' . $domena . $skrypt. '?' . $parametry;
echo $obecnyadres;
if(!eregi('post',$obecnyadres)) {
echo "<script type='text/javascript'><!--
// November 3, 2009, http://www.willmaster.com/
// Copyright 2009 Bontrager Connection, LLC
function AutoScrollOnload() {
// Specify how many pixels from the left
// and how many down from the top to
// automatically scroll the page.
var InFromLeft = 0;
var DownFromTop = 550;
// No other customization required.
window.scrollTo(InFromLeft,DownFromTop);
}
function AddOnloadEvent(f) {
if(typeof window.onload != 'function') { window.onload = f; }
else {
var cache = window.onload;
window.onload = function() {
if(cache) { cache(); }
f();
};
}
}
AddOnloadEvent(AutoScrollOnload);
//--></script>";
}
Również nic z tego ponieważ zmienna $obecnyadres wyglada tak : .../viewthread.php?thread_id=55
Natomiast adres w przeglądarce tak: .../viewthread.php?thread_id=55#post_170
Zabrakło mi pomysłów...
Edit: Ok problem rozwiązałem po "chłopsku".A mianowicie do wszystkich linków do forum dopisałem wyraz:
#content
i teraz działa wszystko super :)
Aczkolwiek jakby ktoś miał jakiś inny pomysł to na pewno by się przydał. Ponieważ ten sposób działa na operze oraz w chromie. Natomiast w FireFoxie już nie działa...dla mnie to żadna strata ale użytkownicy FFsa nie będą mieli zbyt fajnie :/
Edytowane przez MaTiZeKoY dnia 05.04.2012 22:13:24
|