Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js] <NOSCRIPT> pytanie...
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Dagger
Witam!

Mam kolejne dziwne pytanie ;-)
Jest sobie kodzik np:
Kod
<SCRIPT>

if cos tam to "alternatywny opis strony"

if cos tam2 to "jakis inny opis"

</SCRIPT>

<NOSCRIPT>

"alternatywny opis strony"

</NOSCRIPT>

I w sumie w kodzie jest 2 x "alternatywny opis", przez co strona bedzie 2 x wieksza. Czy da sie zrobic cos takiego:
- jesli uzytkownik nie bedzie mial wlaczone savascript to zostanie zaladowane to co jest miedzy <NOSCRIPT> a </NOSCRIPT> (no to da sie zrobic napewno)
- natomiast jesli zostanie spelniony IF (ten 1) to aby wlasnie zaladowac opis ten z <NOSCRIPT>.
Czy da sie cos takiego zrobic? A jesli nie to jak mozna to inaczej rozwiazac?
Z gory dzieki
Paul
[xml:1:b546330d79]<html><head><meta http-equiv="Refresh" content="1; URL=js_off.htm'"></head><body><script type="text/javascript">if(costam){window.location = 'js_on.htm';}else if(costam2){window.location = 'js_off.htm';}</script></body></html>[/xml:1:b546330d79]
Dagger
OK. dziala tak jak bym chcial ALE dodam jeszcze jedno utrudnienie ;-)
A co jesli tekst strony "js_off.htm" musial by byc na tej samej stronie?
Paul
Jesli dobrze rozumiem mozna zastosowac iframe
Dagger
nie nie... nie chodzi o to aby plik "js_off.htm" byl na tej samej stronie a kod z tego pliku czyli cos w tym stylu:
Kod
<html>

<head>

<meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />

<meta http-equiv="Refresh" content="0;URL=



<html>jakis tekst - gdy js off</html>



">

</head>

<body>



<script type="text/javascript">

var x=1;

if(x!=1){window.location = '<html>jakis tekst - gdy js off</html>';}

else

if(x==1){window.location = 'js_on.html';}

</script>




</body>
</html>

EDIT ====

przydala by sie jakby komenda "goto". Tak ze wpisze w jednym miejscu jakis tekst i abym mogl sie do niego odwolywac ale bez js.
Paul
nie mozesz tak zrobic... ani w przypadku meta refresh ani window.location... zamiast tego wpisz odpowiednia sciezke i tyle.. po co tak kombinowac?
Dagger
Kombinuje bo mam takie zalozenia... caly kod strony ma byc w jednym pliku.
A moze da sie zrobic cos takiego ze:
- na poczatku zrobie skrypt js... jesli cos to bedzie wyswietlach jeden opis a jesli cos to bedzie ukrywac div,
- w przypadku gdy js nie bedzie dzialac (nie bedzie wlaczony u klienta) to div sie nie ukryje i mimo wszystko sie wyswietli alternatywny opis,
Ale jak to zrobic? Chyba ze masz inny pomysl?

PS. Mam pewien pomysl i chce go zrealizowac.. zalezy mi na odpowiedzi na pytanie "jak" a nie "po co" ;-)
Paul
Jesli chcesz miec wszsytko na jednej stonie - meta refresh odpada, bo predzej czy pozniej i tak sie refreshuje....

Pomysl z warstwami nie jest zly tyle, ze wada tego bedzie ogromny rozmiar skryptu, a takze przegadarka bedzie ciagnac nie tylko to co jest w widocznej warstwie, a wszsytko...

Zrobic to mozesz tak (IE, Mozilla, Opera tested):

[xml:1:4411d36add]
<html><head>
<script type="text/javascript">
<!--
function wersja(id_wid, id_niewid){
wid = document.getElementById(id_wid);
niewid = document.getElementById(id_niewid);
wid.style.visibility = 'visible';
niewid.style.visibility = 'hidden';
}
// -->
</script> </head> <body> <div style="visibility:hidden;position:absolute;top:0;left:0;"

id="js_on"> js
wlaczony </div> <div style="position:absolute;top:0;left:0;" id="js_off"> js wylaczony

</div>
<script type="text/javascript">
<!--
wersja('js_on', 'js_off');
// -->
</script></body></html>
[/xml:1:4411d36add]
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.