Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][CSS][PHP]dlaczego skrypt nie chce działać ?
Forum PHP.pl > Forum > Przedszkole
big_zygi
witam mam mały problem mianowicie podany niżej skrypt nie chce działać:

  1. <?xml version="1.0" encoding="Windows-1250"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <body>
  5. <form name="Show">
  6. <input type="text" name="MouseX" value="0" size="4"> X<br>
  7. <input type="text" name="MouseY" value="0" size="4"> Y<br>
  8. </form>
  9. div
  10. {
  11. background:silver;
  12. border:1px solid black;
  13. position:absolute;
  14. display:block;
  15. }
  16. </style>
  17. <script language="JavaScript1.2">
  18. var IExp = document.all?true:false
  19. if (!IExp) document.captureEvents(Event.MOUSEMOVE);
  20. var mouseX= 0;
  21. var mouseY= 0;
  22. var Show_ID=0;
  23. document.onmousemove=getMousePosXY;
  24. function getMousePosXY(e)
  25. {
  26. if(IExp)
  27. {
  28. mouseX = event.clientX + document.body.scrollLeft
  29. mouseY = event.clientY + document.body.scrollTop
  30. }
  31. else
  32. {
  33. mouseX = e.pageX
  34. mouseY = e.pageY
  35. }
  36. if (mouseX < 0){mouseX = 0}
  37. if (mouseY < 0){mouseY = 0}
  38. document.Show.MouseX.value = mouseX;
  39. document.Show.MouseY.value = mouseY;
  40. document.getElementById('k1res1204').style.left=mouseX;
  41. document.getElementById('k1res1204').style.top=mouseY;
  42. return true
  43. }
  44. <div id="k1res1204">
  45. xxxxxxxxxxx<br />
  46. xxxxxxxxxxx<br />
  47. xxxxxxxxxxxxxx<br />
  48. xxxxxxxxxxxxxxxxx<br />
  49. </div>
  50. </body>
  51. </html>


usuwając jedynie nagłówek czyli

  1. <?xml version="1.0" encoding="Windows-1250"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">


sprawimy jż kod "cudownie" zacznie prawidłowo funkcjonować

jak miałbym go poprawić aby działał z tym nagłówkiem
ps. Pracuje na przeglądarce OPERA ver. 12.01
lobopol
Nie zadziała bo to są błędne nagłówki
abort
Czekaj - to wynikiem ma być XML czy HTML? Bo oba naraz to (w ogólności) nie bardzo...
big_zygi
no to niewiem ...
a jak według was powinno być prawidłowo ?

bo to co wyczytałem na kilku stronach było mniejwięcej tego typu


http://algorytmy.pl/doc/xhtml/?id=1000
http://www.puma.pomorze.pl/doctype.php
lobopol
Oczywiście bez xml jeżeli to ma być strona html i mają się wykonywać skrypty. Nie miesza się xml z html.

Struktura pliku html powinna być najlepiej taka:
  1. <!doctype html>
  2. <html lang="pl">
  3. <head>
  4. <meta charset="utf-8">
  5. dołączane arkusze stylów
  6. </head>
  7. <body>
  8.  
  9. </body>
  10. </html>
  11.  
big_zygi
no to muszę się troszeczke poprawić ...
pisząc że usuwając nagłówek wypisałem 2 linie kodu

a jedynie jak usunę to:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

to wtedy strona działa prawidłowo

więc jedynie bez tej linijki reszta skryptów działa tak jak należy ...
ale wówczas formatowanie strony się zmienia

więc moje pytanie brzmi jak napisać dany skrypt aby strona działała tak jak bez tej linijki kodu? ...
to jest oczywiście bardzo uproszczona wersja ukazująca jedynie sedno problemu ...
mmmmmmm
Np.
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
big_zygi
chodziło mi o napisanie skryptu w javascript podanego na samym początku.
ponieważ zmiana DOCTYPE na jakikolwiek nie powoduje poprawnego działania skryptu.

ps. Jeżeli chcecie pomóc to sprawcie najpierw czy to co proponujecie działa a następnie ową rzecz proponujcie...
lobopol
Przeczytaj to co Ci napiszę bardzo uważnie:
1. Kod poniżej definiuje ci typ dokumentu jako plik xhtml, czyli daje znać przeglądarce jak ma się z nim zachować jak renderować układ, odpalać skrypty itp.
Kod
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Jeżeli chcesz aby plik był renderowany jako strona internetowa (style, odpalanie skryptów, bycie zgodnym ze standardami) to MUSI mieć format html który jest zależny od wersji html jaką chcesz używać, najczystsza wersja to dokument w stylu html5 taki jak podałem wcześniej, jeżeli upierasz się na starszą wersje html czy xhtml to używasz odpowiednich doctype czyli np.:
Kod
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Różne doctype informują w jaki sposób przeglądarka ma interpretować kod
2. Jeżeli chcesz aby plik był plikiem xml to również musisz zachować odpowiedni jego układ zależny od jego wersji, plik xml i powinien wyglądać jak w przykładzie http://pl.wikipedia.org/wiki/XML
Pliki xml nie służy do odpalania skryptów js ani innych.

Podsumowując nie możesz mieć nagłówka:
Kod
<?xml version="1.0" encoding="Windows-1250"?>

w pliku html bo część przeglądarek zacznie interpretować stronę jako plik xml
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.