Autor Zpráva
PioNieR
Profil *
Cuz all,
z JS som lama a tak mam takyto problem

Potreboval by som cez JS vlozit vystup z PHP ktory obsahuje urcitu cast kodu (dynamicky generovanu podla vstpnych dat).

Urobil som si maly testovaci subor, a vo firefoxu to funguje OK, ale IE to nenacita.

Tu je odkaz na pokusny skript


plz neviete niekdo preco mi IE nevklada ten kod ktory vracia to PHP, ked FF s tym nema ziaden problem ?

alebo lepsia otazka ako to mam vlozit ?
thx ;o)
*Čvachta*
Profil *
Máš v tom php scriptu poslání hlavičky?

header('Content-Type: text/javascript; charset=iso-8859-2');
PioNieR
Profil *
bez charsetu

header('Content-Type: text/javascript');
Anonymní
Profil *
doplnil som charset a vysledok je rovnaky...

cele PHP teraz vypada takto :

<?php

header('Content-Type: text/javascript; charset=iso-8859-2');

$output = "<br><b>BOLD</b><br><br><i>italic</i>";
echo "document.write('".addslashes("$output")."');";

?>
Leo
Profil
Zkuste si nejdriv ten kod ulozit do statickeho js souboru na server, podivat se jaky hlavicky se posilaji, a vyhodte ten language ze scriptu. Leo
PioNieR
Profil *
no to som skusil ... vysledok je rovnaky ..
btw firefox posiela hlavicku aplication/x-javascript ...
Leo
Profil
"btw firefox posiela hlavicku aplication/x-javascript ..."

Hlavicku posila server, ne? Leo
PioNieR
Profil *
zle jsem se vyjadril

ve firefoxu se zobrazuje hlavicka apication/x-javascript
peta
Profil *
PioNieR
Co ti na tohle rici...
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<title>Untitled Document</title>

<script type="text/javascript">
document.write('<br><b>BOLD</b><br><br><i>italic</i>');
</script>

</head>

<body>

</body>
</html>


Otevri si znovu knizku o JS na prvni strane a zacni cist. Sem zvedavy, kde se doctes, ze pres HEAD muzes prepisovat dokument jen tak. Ze to nahodou ve FF funguje to je jeho plus.
Tenhle script, jak je postaveny by podle mne nemel vubec fungovat. Dokument muzes prepisovat az v casti BODY. Viz Leo
"si nejdriv ten kod ulozit do statickeho js souboru na server"

Nebo takhle ti to reknu. z duvodu bezpecnosti bylo do IE pridano omezeni, ktere nedovoli nejake veci pri nacitani dokumentu. V HEAD jeste nevnikl dokument a ty uz se pokousis prepsat cast BODY, neexistujici cast.
Jestli se pletu, pak muze jit opet o bezpecnost, ze IE nedovoli, aby jako src pro JS byla pouzita jina pripona nez JS nebo jine pripony js pripony, nekde popsane.
A mozna je to pouze tak, ze si IE nedokaze vyzadat PHP soubor, protoze ten uz tam mel byt pri odeslani.

Cirou nahodou, jak jsem ti ten priklad napsal, tak mi funguje i v IE
ja bych toto:
<script type="text/javascript">
document.write('<br><b>BOLD</b><br><br><i>italic</i>');
</script>
dal do souboru xxx.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<title>Untitled Document</title>

<?php include("xxx.php"); ?>
</head>

<body>

</body>
</html>


Kazdopadne podle mne je to nespravne postavene, kdyz prepisujes jeste neexistujici stranku v pameti. A nevim, k cemu ti to bude jako dobry?
Toto téma je uzamčeno. Odpověď nelze zaslat.

0