Autore Topic: Background legato alla risoluzione video  (Letto 2404 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline spooda2001

  • Post: 8
Background legato alla risoluzione video
« il: 02 Marzo 2011 21:24:03 »
Salve, c'è qualcuno che può spiegarmi, cortesemente, perchè questo codice javascript
Codice: [Seleziona]
<script type="text/javascript">
<!--

if(screen.width==1680) document.write('<style>body{background:url(images/HomeGrunge1680x1050w.jpg) no-repeat;}<\/style>')
if(screen.width==1280) document.write('<style>body{background:url(images/HomeGrungeW1280.jpg) no-repeat;}<\/style>')
if(screen.width==1024) document.write('<style>body{background:url(images/HomeGrunge1024x768.jpg) no-repeat;}<\/style>')
if(screen.width==800) document.write('<style>body{background:url(images/HomeGrunge800x600.jpg) no-repeat;}<\/style>')

self.moveTo(0,0);
self.resizeTo(screen.availWidth,screen.availHeight);

//-->
</script>


su gli altri browser funziona e su firefox no?
Mi sembra abbastanza stupido (considerando appunto che sono un principiante), a seconda della risoluzione video, carico uno sfondo differente.
Cosa c'è di sbagliato?
Grazie mille in anticipo.

S.
« Ultima modifica: 02 Marzo 2011 23:36:00 da gialloporpora »

Offline lucasali

  • Moderatore
  • Post: 7493
Re: Background legato alla risoluzione video
« Risposta #1 il: 02 Marzo 2011 23:43:36 »
di sbagliato c'è il concetto ... se non ho una di quelle risoluzioni non vedo lo sfondo?
detto questo ...
immagino che il codice che hai postato sia volutamente errato e sporcato per non avere problemi nel post, in futuro ti consiglio di usare l'apposito tag CODE che corrisponde al pulsante col foglio e #
hai un esempio online?
che errore ti da la console degli errori?

Offline gialloporpora

  • サンドロ
  • Moderatore
  • Post: 10806
    • Il blog che non c'è
Re: Background legato alla risoluzione video
« Risposta #2 il: 03 Marzo 2011 00:03:58 »
Secondo me è il document.write usato per caricare lo stile, non mi sembra un metodo molto indicato, comunque meglio aspettare il codice :-)

Offline spooda2001

  • Post: 8
Re: Background legato alla risoluzione video
« Risposta #3 il: 03 Marzo 2011 00:07:34 »
scusa, hai ragione, ho dimenticato il tag Code.
Al di là del fatto che tu abbia o meno una delle risoluzioni che ho considerato, mi chiedevo Perchè in firefox non funziona.
Non ho nessun errore javascript, solo che con IE o chrome per esempio, vedo lo sfondo mentre con firefox non lo vedo se uso, ovviamente, una di quelle risoluzioni che ho considerato.

grazie e scusa per i tag.

s.
« Ultima modifica: 03 Marzo 2011 00:15:53 da spooda2001 »

Offline spooda2001

  • Post: 8
Re: Background legato alla risoluzione video
« Risposta #4 il: 03 Marzo 2011 00:13:12 »
Secondo me è il document.write usato per caricare lo stile, non mi sembra un metodo molto indicato, comunque meglio aspettare il codice :-)


Ciao, il codice js è tutto lì, la pagina è vuota, voglio solo caricare lo sfondo giusto per ogni risoluzione e ripeto, non funziona solo per firefox.
Se hai alternative migliori, io sono qui per imparare.
Grazie.

S.


Offline gialloporpora

  • サンドロ
  • Moderatore
  • Post: 10806
    • Il blog che non c'è
Re: Background legato alla risoluzione video
« Risposta #5 il: 03 Marzo 2011 00:27:53 »
Uhm, io lo sfondo lo vedo con FF 4, non so se è per via della risoluzione schermo.
Io non sono esperto, però non è molto ortodosso cambiare lo stile con un document.write, credo che il document.write sia deprecato un po' per tutto.


Di solito uso jQuery per cambiare lo stile, però una cosa del genere dovrebbe funzionare:

Codice: [Seleziona]
function chgBodyBG(a){
body=document.getElementsByTagName('body')[0];
body.style.background=a;
}



e poi la richiami così ogni volta che vuoi cambiare il background
Codice: [Seleziona]
chgBodyBG("url('immagine')");

prova, credo funzioni anche con FF.

otte!
« Ultima modifica: 03 Marzo 2011 00:29:39 da gialloporpora »

Offline spooda2001

  • Post: 8
Re: Background legato alla risoluzione video
« Risposta #6 il: 03 Marzo 2011 10:47:45 »
Uhm, io lo sfondo lo vedo con FF 4, non so se è per via della risoluzione schermo.
Io non sono esperto, però non è molto ortodosso cambiare lo stile con un document.write, credo che il document.write sia deprecato un po' per tutto.


Di solito uso jQuery per cambiare lo stile, però una cosa del genere dovrebbe funzionare:

Codice: [Seleziona]
function chgBodyBG(a){
body=document.getElementsByTagName('body')[0];
body.style.background=a;
}



e poi la richiami così ogni volta che vuoi cambiare il background
Codice: [Seleziona]
chgBodyBG("url('immagine')");

prova, credo funzioni anche con FF.

otte!

Ciao, innanzitutto grazie per la disponibilità, purtroppo nella risposta dai per scontato cose che purtroppo io non so e cioè, a parte definire una function, dove la richiamo?
Perchè la chiamata dovrebbe essere la legata alla IF sulla risoluzione.
Potresti scrivermi un esempio?
Grazie mille.

S.

Offline gialloporpora

  • サンドロ
  • Moderatore
  • Post: 10806
    • Il blog che non c'è
Re: Background legato alla risoluzione video
« Risposta #7 il: 03 Marzo 2011 11:43:50 »
Codice: [Seleziona]
Allora, inserendo il tag script nell'head dopo lo style, metti il codice della funzione, poi devi cambiare tutti i document.write, ad esempio:

[code]
document.write('<style>body{background:url(images/HomeGrunge1680x1050w.jpg) no-repeat;}<\/style>')

[/code]


con:
Codice: [Seleziona]


chgBodyBG('url(images/HomeGrunge1680x1050w.jpg) no-repeat');

Offline spooda2001

  • Post: 8
Re: Background legato alla risoluzione video
« Risposta #8 il: 03 Marzo 2011 12:08:00 »
Ho fatto come mi hai detto

Codice: [Seleziona]
<style type="text/css">
<!--
#apDiv1 {
position:absolute;
left:5px;
top:10px;
width:1311px;
height:43px;
z-index:1;
}
.style3 {
font-size: 12px;
font-family: Tahoma;
}
.style4 {
color: #FF6600;
font-weight: bold;
}
.style5 {font-size: 14px}
-->
</style>
<script type="text/javascript">
<!--
function chgBodyBG(a){
body=document.getElementsByTagName('body')[0];
body.style.background=a;
// body.style.backgroundRepeat="no-repeat";
}

self.moveTo(0,0);
self.resizeTo(screen.availWidth,screen.availHeight);

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-21620775-2']);
_gaq.push(['_trackPageview']);

(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
 
//-->
</script>
</head>
<body>
<div id="apDiv1">
  <table width="100%">
    <tr>
      <td align="left" valign="top"><h1 class="style3">2011 <span class="style5"><small>&copy;</small></span> Copyright ubarat.com. All rights reserved. For news and info mail to <a href="mailto: info@ubarat.com" class="style4">info@ubarat.com</a></h1></td>
    </tr>
  </table>
</div>
<script type="text/javascript">
if(screen.width==1680)
  {
chgBodyBG('url(images/HomeGrunge1680x1050w.jpg) no-repeat');
  }

//if(screen.width==1280) chgBodyBG("url('images/HomeGrungeW1280.jpg')");
//if(screen.width==1024) chgBodyBG("url('images/HomeGrunge1024x768.jpg')");
//if(screen.width==800) chgBodyBG("url('images/HomeGrunge800x600.jpg')");

//if(screen.width==1280) document.write('<style>body{background:url(images/HomeGrungeW1280.jpg) no-repeat;}<\/style>')
//if(screen.width==1024) document.write('<style>body{background:url(images/HomeGrunge1024x768.jpg) no-repeat;}<\/style>')
//if(screen.width==800) document.write('<style>body{background:url(images/HomeGrunge800x600.jpg) no-repeat;}<\/style>')

</script>
</body></html>

Ma non funziona.
Tra l'altro funziona in locale, ha sempre funzionato in locale, anche col document.write.
Non capisco.

Offline spooda2001

  • Post: 8
Re: Background legato alla risoluzione video
« Risposta #9 il: 03 Marzo 2011 12:13:13 »
Scusa il codice di prima non funzionava neanche con gli altri browser, questo è quello che fallisce solo con FF

Codice: [Seleziona]
<style type="text/css">
<!--
#apDiv1 {
position:absolute;
left:5px;
top:10px;
width:1311px;
height:43px;
z-index:1;
}
.style3 {
font-size: 12px;
font-family: Tahoma;
}
.style4 {
color: #FF6600;
font-weight: bold;
}
.style5 {font-size: 14px}
-->
</style>
<script type="text/javascript">
<!--
function chgBodyBG(a){
body=document.getElementsByTagName('body')[0];
body.style.background=a;
body.style.backgroundRepeat="no-repeat";
}

self.moveTo(0,0);
self.resizeTo(screen.availWidth,screen.availHeight);

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-21620775-2']);
_gaq.push(['_trackPageview']);

(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
 
//-->
</script>
</head>
<body>
<div id="apDiv1">
  <table width="100%">
    <tr>
      <td align="left" valign="top"><h1 class="style3">2011 <span class="style5"><small>&copy;</small></span> Copyright ubarat.com. All rights reserved. For news and info mail to <a href="mailto: info@ubarat.com" class="style4">info@ubarat.com</a></h1></td>
    </tr>
  </table>
</div>
<script type="text/javascript">
if(screen.width==1680)
  {
  chgBodyBG("url('images/HomeGrunge1680x1050.jpg')");
  }

//if(screen.width==1280) chgBodyBG("url('images/HomeGrungeW1280.jpg')");
//if(screen.width==1024) chgBodyBG("url('images/HomeGrunge1024x768.jpg')");
//if(screen.width==800) chgBodyBG("url('images/HomeGrunge800x600.jpg')");

//if(screen.width==1280) document.write('<style>body{background:url(images/HomeGrungeW1280.jpg) no-repeat;}<\/style>')
//if(screen.width==1024) document.write('<style>body{background:url(images/HomeGrunge1024x768.jpg) no-repeat;}<\/style>')
//if(screen.width==800) document.write('<style>body{background:url(images/HomeGrunge800x600.jpg) no-repeat;}<\/style>')

</script>
</body></html>

Offline gialloporpora

  • サンドロ
  • Moderatore
  • Post: 10806
    • Il blog che non c'è
Re: Background legato alla risoluzione video
« Risposta #10 il: 03 Marzo 2011 12:27:28 »
Citazione
Tra l'altro funziona in locale, ha sempre funzionato in locale, anche col document.write.
Non capisco.

E dirlo prima no? :wink:

ovviamente se in locale funziona il problema è un altro, tipo il server (che mi sembra quello Microsoft).

Non occorre che continui a riportare il codice, la pagina con l'esempio, piuttosto, l'hai tolta tu?




Offline spooda2001

  • Post: 8
Re: Background legato alla risoluzione video
« Risposta #11 il: 03 Marzo 2011 12:33:04 »
Si perchè sto facendo delle prove.
Più che altro sto imprecando.
Che faccio rinuncio?

Offline gialloporpora

  • サンドロ
  • Moderatore
  • Post: 10806
    • Il blog che non c'è
Re: Background legato alla risoluzione video
« Risposta #12 il: 03 Marzo 2011 12:48:47 »
Boh :-?
Quando hai finito di fare le prove, lascia il codice che funziona solo con gli altri browser e vediamo se qualcuno può aiutarti.

Io comunque lo sfondo ora lo vedo (anche ieri sera).

Offline spooda2001

  • Post: 8
Re: Background legato alla risoluzione video
« Risposta #13 il: 03 Marzo 2011 13:34:12 »
Boh :-?
Quando hai finito di fare le prove, lascia il codice che funziona solo con gli altri browser e vediamo se qualcuno può aiutarti.

Io comunque lo sfondo ora lo vedo (anche ieri sera).


si ora lo vedi ma se provi a cambiare risoluzione adesso compare pure la barra di scorrimento in fondo che prima ovviamente non compariva....... Due palle..... Passami il termine....perdere tempo con una cosa cosi stupida.......

Offline lucasali

  • Moderatore
  • Post: 7493
Re: Background legato alla risoluzione video
« Risposta #14 il: 04 Marzo 2011 22:50:09 »
che errore ti da la console degli errori?

0 Utenti e 1 Visitatore stanno visualizzando questo topic.