Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Firefox nie widzi javascriptu w php, IE widzi. Dlaczego?
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
marian76
Witam
Na stronie użyłem funkcji zmiany tła w zależności od pory dnia. Tak naprawdę po wielu ciężkich bojach udało mi to uruchomić po wklejeniu javascriptu, który odpowiada za te zmiany. Wszystko fajnie chodzi i wygląda, ale niestety tylko w IE i to ver.6.0. Natomiast Firefox - biała plama. O co kamam ? Przekopałem już google, może źle szukałem...

Wklejam kody, na czerwono zaznaczyłem kod ten zmiany tła:
  1. <?php
  2. defined( '_VALID_MOS' ) or die( 'Restricted access' );
  3. // needed to seperate the ISO number from the language file constant _ISO
  4. $iso = explode( '=', _ISO );
  5. // xml prolog
  6. echo '<?xml version="1.0" encoding="'. $iso[1] .'"?' .'>';
  7. ?>
  8. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  9. <html xmlns="http://www.w3.org/1999/xhtml">
  10. <head>
  11.  
  12. <?php mosShowHead(); ?>
  13. <?php
  14. if ( $my->id ) {
  15. initEditor();
  16. }
  17. $collspan_offset = ( mosCountModules( 'right' ) + mosCountModules( 'user2' ) ) ? 2 : 1;
  18. //script to determine which div setup for layout to use based on module configuration
  19. $user1 = 0;
  20. $user2 = 0;
  21. $colspan = 0;
  22. $right = 0;
  23. // banner combos
  24.  
  25. //user1 combos
  26. if ( mosCountModules( 'user1' ) + mosCountModules( 'user2' ) == 2) {
  27. $user1 = 2;
  28. $user2 = 2;
  29. $colspan = 3;
  30. } elseif ( mosCountModules( 'user1' ) == 1 ) {
  31. $user1 = 1;
  32. $colspan = 1;
  33. } elseif ( mosCountModules( 'user2' ) == 1 ) {
  34. $user2 = 1;
  35. $colspan = 1;
  36. }
  37.  
  38. //right based combos
  39. if ( mosCountModules( 'right' ) and ( empty( $_REQUEST['task'] ) || $_REQUEST['task'] != 'edit' ) ) {
  40. $right = 1;
  41. }
  42. ?>
  43. <meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" />
  44. <link href="<?php echo $mosConfig_live_site;?>/templates/rhuk_solarflare_ii/css/template_css.css" rel="stylesheet" type="text/css" />
  45. </head>
  46. <body>
  47.  
  48. <div id="banner" style="position:absolute; left:50% ; margin-left:-475px ; margin-top: 0px; width:950px; ">
  49. <div id="banner"
  50. <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="950" height="150" id="animacja" align="center" >
  51. <param name="allowScriptAccess" value="sameDomain" />
  52. <param name="movie" value="http://aviation.net.pl/video/bannerx.swf" />
  53. <param name="quality" value="high" />
  54. <param name="wmode" value="transparent" />
  55. <param name="bgcolor" value="#ffffff" />
  56. <embed src="http://aviation.net.pl/video/bannerx.swf" quality="high" wmode="transparent" bgcolor="#ffffff" width="950" height="150" name="animacja" align="center" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
  57. </object>
  58. </div>
  59. <body style="margin: 0; padding: 0;">
  60. <div id="all" style="position:absolute; left:50% ; margin-left:-475px ; margin-top: 0px; width:950px; ">
  61. <div style="position: relative; height: 96px; width: 950px;">
  62.  
  63. <div id="flags" style="position: absolute; text-align: right; left: 742px; top: 3px; width: 200px; height: 16px;">
  64.  
  65. <a href="http://translate.google.com/translate?client=tmpg&hl=pl&u=http%3A%2F%2Faviation.net.pl%2F&langpair=pl|en">
  66. <img src="http://www.aviation.net.pl/images//wielkabrytaniaflaga.jpg" BORDER="0" />
  67. </a>
  68. <a href="http://translate.google.com/translate?client=tmpg&hl=pl&u=http%3A%2F%2Faviation.net.pl%2F&langpair=pl|de">
  69. <img src="http://www.aviation.net.pl/images//niemcyflaga.jpg" BORDER="0" />
  70. </a>
  71. <a href="http://translate.google.com/translate?client=tmpg&hl=pl&u=http%3A%2F%2Faviation.net.pl%2F&langpair=pl|it">
  72. <img src="http://www.aviation.net.pl/images//wlochyflaga.jpg" BORDER="0" />
  73. </a>
  74.  
  75. <a href="http://translate.google.com/translate?client=tmpg&hl=pl&u=http%3A%2F%2Faviation.net.pl%2F&langpair=pl|ru">
  76. <img src="http://www.aviation.net.pl/images//rosjaflaga.jpg" BORDER="0" />
  77. </a>
  78. <a href="http://translate.google.com/translate?client=tmpg&hl=pl&u=http%3A%2F%2Faviation.net.pl%2F&langpair=pl|fr">
  79. <img src="http://www.aviation.net.pl/images//francjaflaga.jpg" BORDER="0" />
  80. </a>
  81.  
  82. <a href="http://translate.google.com/translate?client=tmpg&hl=pl&u=http%3A%2F%2Faviation.net.pl%2F&langpair=pl|cs">
  83. <img src="http://www.aviation.net.pl/images//czechyflaga.jpg" BORDER="0" />
  84.  
  85. </a>
  86.  
  87. </div>
  88. <div align="center">
  89. <table border="0" cellpadding="0" cellspacing="0" width="950">
  90. <tr>
  91. <td class="outline">
  92. </div><div id="buttons_inner" >
  93. <div id="buttons">
  94. <?php mosLoadModules ( 'user3', -1); ?>
  95. </div></div><div id="buttons_outer"></div><div id="left_outer">
  96. <div id="left_inner">
  97. <?php mosLoadModules ( 'left', -2 ); ?>
  98. </div>
  99. </div>
  100. <div id="content_outer">
  101. <div id="content_inner">
  102. <?php
  103. if ( mosCountModules ('banner') ) {
  104. ?>
  105. <table border="0" cellpadding="0" cellspacing="0" width="100%" class="content_table">
  106. <tr>
  107. <td>
  108. <div id="banner_inner">
  109. <img src="<?php echo $mosConfig_live_site;?>/templates/rhuk_solarflare_ii/images/advertisement.png" alt="advertisement.png, 0 kB" title="advertisement" border="0" height="8" width="468" /><br />
  110. <?php mosLoadModules( 'banner', -1 ); ?><br />
  111. </div>
  112. <div id="poweredby_inner" align="right">
  113. <img src="<?php echo $mosConfig_live_site;?>/templates/rhuk_solarflare_ii/images/powered_by.png" alt="powered_by.png, 1 kB" title="powered_by" height="68" width="304" /><br />
  114. </div>
  115. </td>
  116. </tr>
  117. </table>
  118. <?php
  119. }
  120. ?>
  121. <table border="0" cellpadding="0" cellspacing="0" width="100%" align="right" class="content_table">
  122. <tr valign="top">
  123. <td width="99%">
  124. <table border="0" cellpadding="0" cellspacing="0" width="100%" class="content_table">
  125.  
  126. <?php
  127. if ($colspan > 0) {
  128. ?>
  129. <tr valign="top">
  130. <?php
  131. if ( $user1 > 0 ) {
  132. ?>
  133. <td width="50%">
  134. <div class="user1_inner">
  135. <?php mosLoadModules ( 'user1', -2 ); ?>
  136. </div>
  137. </td>
  138. <?php
  139. }
  140. if ( $colspan == 3) {
  141. ?>
  142. <td width="2">
  143. <img src="<?php echo $mosConfig_live_site;?>/templates/rhuk_solarflare_ii/images/spacer.png" alt="" title="spacer" border="0" height="10" width="2" />
  144. </td>
  145. <?php
  146. }
  147. if ( $user2 > 0 ) {
  148. ?>
  149. <td width="50%">
  150. <div class="user2_inner">
  151. <?php mosLoadModules ( 'user2', -2 ); ?>
  152. </div>
  153. </td>
  154. <?php
  155. }
  156. ?>
  157. </tr>
  158. <tr>
  159. <td colspan="<?php echo $colspan; ?>">
  160. <img src="<?php echo $mosConfig_live_site;?>/templates/rhuk_solarflare_ii/images/spacer.png" alt="" title="spacer" border="0" height="2" width="100" /><br />
  161. </td>
  162. </tr>
  163. <?php
  164. }
  165. ?>
  166. <tr>
  167. <td colspan="<?php echo $colspan; ?>">
  168. <div id="pathway_text">
  169. <?php mosPathWay(); ?>
  170. </div>
  171. </td>
  172. </tr>
  173. <tr>
  174. <td colspan="<?php echo $colspan; ?>" class="body_outer">
  175. <?php mosMainBody(); ?>
  176. </td>
  177. </tr>
  178. </table>
  179.  
  180.  
  181. </td>
  182. <?php
  183. if ( $right > 0 ) {
  184. ?>
  185. <td>
  186. <div id="right_outer">
  187. <div id="right_inner">
  188. <?php mosLoadModules ( 'right', -2 ); ?>
  189. </div>
  190. </div>
  191. </td>
  192. <?php
  193. }
  194. ?>
  195.  
  196. </tr>
  197. </table>
  198. </div>
  199. </div>
  200. </td>
  201. </tr>
  202. </table>
  203. </div>
  204. <?php include_once( $GLOBALS['mosConfig_absolute_path'] . '/includes/footer.php' ); ?>
  205. <?php mosLoadModules( 'debug', -1 );?>
  206. <script type="text/javascript">
  207. var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
  208. document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
  209. </script>
  210. <script type="text/javascript">
  211. try {
  212. var pageTracker = _gat._getTracker("UA-11013409-1");
  213. pageTracker._trackPageview();
  214. } catch(err) {}</script>
  215. <script type="text/javascript" language="JavaScript">
  216. <!--
  217. var date = new Date();
  218. var time = date.getHours();
  219. if (time >= 6 && time < 7) {document.body.background = 'zachodvorx.jpg'};
  220. else if (time >= 7 && time < 16) {document.body.background = 'dzienvorx.jpg'};
  221. else if (time >= 16 && time < 17) {document.body.background = 'zachodvorx.jpg'};
  222. else {document.body.background = 'nocvorx.jpg'}
  223. -->
  224. </script>
  225. </body>
  226. </html>


Natomiast w css standard:

body {

height: 100%;
margin-bottom: 1px;
background-color: transparent - to obojętne, może być nawet #ffffff i tak nic nie wpływa na wyświetlanie w FF
background-repeat: repeat;
background-attachment: fixed;
background-position: 50% 0%;
}
wookieb
A może podasz link?
marian76
http://aviation.net.pl

próbowałem też stosować inną metodę, ale ta to już zupełna porażka:

w css ustawiłem background i odwołanie do katalogu na www gdzie są trzy jpg i index.php, który odpowiada za zmianę, ale to już inna bajka, o której napiszę jak nie uda się pokonać tego javascriptu
wookieb
A gdzie ; po wartości background-color?
thek
Zauważyłem w kodzie że masz na pewno jeden tag nie zamknięty. Tuż po body masz podwójny div id="banner", ale jeden nie ma na bank zamknięcia.
  1. <div id="banner" style="position:absolute; left:50% ; margin-left:-475px ; margin-top: 0px; width:950px; ">
  2. <div id="banner"
  3. <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="950" height="150" id="animacja" align="center" >

marian76
Cytat(wookieb @ 26.10.2009, 09:16:35 ) *
A gdzie ; po wartości background-color?


nie bardzo kumam pytania... to odnosi się do javascriptu czy tego drugiego sposobu, o którym nadmieniłem??, wolałbym na razie o nim nie mówić póki nie umrze nadzieja o javascipt smile.gif

thek: zamknąłem ten tag, ale w sumie na nic to nie wpływa, jak usunę drugi identyczny tag, o którym piszesz to znika mi miejsce na banner flashowy
wookieb
To lepiej zresyscytuj swoją konsolę błędów bo wali warningiem "syntax error"
marian76
Cytat(wookieb @ 26.10.2009, 09:42:24 ) *
To lepiej zresyscytuj swoją konsolę błędów bo wali warningiem "syntax error"



blinksmiley.gif blinksmiley.gif a co to , gdzie to, o co kaman questionmark.gif możesz jaśniej (co to znaczy zresyscytuj) ?
wookieb
Leże... http://pl.wikipedia.org/wiki/Resuscytacja (aluzja do twoich słów "wolałbym na razie o nim nie mówić póki nie umrze nadzieja o javascip")

google-> konsola błędów [nazwa_twojej_przeglądarki]
marian76
To jak mam dokonać resuscytacji krążeniowo-oddechowej guitar.gif questionmark.gif
Przeczytałem to i dla mnie to jest czarna magia. Wyjaśnij mi proszę łopatologicznie, nie jestem webmajstrem, takie sztuczki jak ta testuje od tygodnia, to o czymś świadczy... sadsmiley02.gif , potrzebuje szybkiego rozwiązania, proszę o pomoc. Gdzie mam zresetować, poprawić te ustawienia tych błędów konsoli...
wookieb
1) Przyłazisz z podstawami a jak ci mówię, co zamiast się wysilić to "udajesz głupka" żeby tylko dostać odpowiedź. Dobrze dostaniesz ją, ale poczekaj tylko jak założysz następny temat
2) A co mnie interesuje, że zajmujesz się tym od tygodnia. Nie usprawiedliwia cię to od użycia mózgu i postępowania zgodnie ze wskazówkami. Urodziłeś się też tydzień temu?
3) Masz błąd składniowy, wywal średniki po } w ostatnim skrypcie. Tego oczywiście byś się dowiedział w KONSOLI BŁĘDÓW

// DOWN Nie ma to jak gasząca odpowiedź biggrin.gif
marian76
nie no stary, oddaje pokłon, wielkie dzięki, a o tej konsoli to poczytam jak znajdę wolną chwilę..

p.s. jak zaczynam się bawić w te html, css, javasripty to mam wrażenie jakbym się urodził tydzień temu wstydnis.gif

zaciekawiony dalszymi rezultatami zacząłem wprowadzać do skryptu również minuty. W sieci znalazłem różne propozycje z tym związane, wykorzystałem następującą, która wydawała się najbardziej pasująca do tego skryptu:
Oto początek kodu:

  1. #
  2. <!--
  3. var date = new Date();
  4. var time = date.getHours();
  5. var min = date.getMinutes();
  6. if (time >= 6 && time < 7 && min >= 30 && min < 0) {document.body.background = 'zachodvorx.jpg'}
  7.  
  8. ...
  9.  


czyli wg mojego widzimisie tło z zachodem powinien pokazywać od 6:30 do 7:00. Ale nie pokazuje. Błąd w konsoli jeżeli dobrze pamiętam wskazuje tylko na linijke gdzie jest "mosLoadModules"
wookieb
A znasz wartość która jest większa od 30 oraz mniejsza od 0? Bo ja nie, choćby nie wiem jak mocno była urojona.
marian76
powiem tobie, że ja rozumiem ten kod w następujący sposób:

(time >= 6 && time < 7 && min >= 30 && min < 0)

min>=30 jest przypisane do time>=6 a min < 0 jest przypisane do time < 7, ale widzę że moje rozumowanie jest błędne, ustawiałem też min zaraz po time, .....eksperyment za eksperymentem, ale żaden układ nie działa..

jak w takim razie ustawić, żeby pokazywał od 6:30 do 7:00 ...? wszędzie znajduje tylko godzinowe zmiany
wookieb
min>=30 to wystarczy
Innym rozwiazaniem jest połączenie godziny z minutą
[JAVASCRIPT] pobierz, plaintext
  1. var date = new Date();
  2. var time = String(date.getHours());
  3. var min = String(date.getMinutes());
  4.  
  5. var tt = Number(time+min.charAt(0));
  6.  
  7. if(tt>=63 && tt<=70)
  8. {
  9. // ok
  10. }
[JAVASCRIPT] pobierz, plaintext


A warunki w ifie wykonują się po kolei. Pierwszy warunek, drugi itd i w twoim przypadku jeżeli nie jest spełniony choć jeden warunek to dalsze nie są wykonywane (dzięki operatorowi &&)

Przykład
Jest godzina 10:00
1 warunek: false. Dalsze nie są wykonywane

Jest godzina 6:01

1 warunek: true
2 warunek: true
3 warunek: false dalsze nie są wykonywane
marian76
czyli jak będę chciał np. od 12:35 do 13:00

to będzie

if(tt>=1235 && tt<=130)

?
wookieb
Tamten przykład był do twojego szczególnego przypadku. W tym musiałbyś poprzedzić wartość minuty dodatkowym zerem
Kod
if(min.length == 1) min = '0'+min;
i wtedy będzie ok
marian76
  1. <!--
  2. var date = new Date();
  3. var time = String(date.getHours());
  4. var min = String(date.getMinutes());
  5. var tt = Number(time+min.charAt(0));
  6. if(min.length == 1) min = '0'+min;
  7. if (tt>=531 && tt<=700) {document.body.background = 'zachodvor.jpg'}
  8. else if (tt>=700 && tt<=1530) {document.body.background = 'dzienvor.jpg'}
  9. else if (tt>=1530 && tt<=1629) {document.body.background = 'zachodvor.jpg'}
  10. else {document.body.background = 'nocvor.jpg'}
  11. -->
  12. </script>


warunki wg mojego myślenia:
5:31 do 7:00 zachód
7:00 do 15:30 dzień
15:30 do 16:29 zachód
wszystkie po za tym noc
..i w tej chwili pokazuje mi noc smile.gif
wookieb
Ech..
Kod
if(min.length == 1) min = '0'+min;
var tt = Number(time+min);

marian76
hehe zadziałało, dziękuję
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.