Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [js][lamer] czemu działa tylko w MsIE ?
Bakus
post 22.05.2004, 09:32:54
Post #1


Administrator serwera


Grupa: Przyjaciele php.pl
Postów: 909
Pomógł: 0
Dołączył: 12.08.2003
Skąd: /var/www/wroclaw.php

Ostrzeżenie: (0%)
-----


W body mam:
[xml:1:2d77db1afb]<div id="progress_info"></div>[/xml:1:2d77db1afb]
W php napisałem funkcję:[php:1:2d77db1afb]<?php
function progress_text($t="")
{
print '<script type="text/javascript" language="JavaScript">' . "n";
print '<!--' . "n";
if(empty($t))
{
print "t" . 'progress_text('<table align="center" width="100%" cellspacing="0" cellpadding="0" border="0"><tr><td align="center" class="titre1">' . $t . '</td></tr></table>');' . "n";
}else{
print "t" . 'progress_text();' . "n";
}
print '//-->' . "n";
print '</script>' . "n";
@ob_flush();
}
?>[/php:1:2d77db1afb]
i do tego w nagłówku strony dodaję plik z funkcją JS:
Kod
    function progress_text(txt)

    {

        if (!document.layers&&!document.all) return;



        if (document.layers)

        {

            document.layers.progress_info.document.write(txt);

            document.layers.progress_info.document.close();

        }else if (document.all)

            progress_info.innerHTML=txt;

    }

Wywołuje to przez:[php:1:2d77db1afb]<?php
progress_text("Proszę czekać...");
// tu się coś długo wykonuje nic nie wysyłając do przeglądarki
progress_text();
//tu wyświetlam wynik pracy...
?>[/php:1:2d77db1afb]całość działa w MsIE, ale tylko w niej... (no i w konquerorze), ale nie wiem jak zrobić by działało również w np. mozilli... Jeżeli chodzi o JS, to jestem trochę lamerem i nieznam się zbytnio... Czy ktoś mi to może wytłumaczyć i pomóc przerobić? (tego JSa sam nie pisałem, tylko ściągnąłem z jakiejś strony...)


--------------------
Powrót do przeszłości :)
Go to the top of the page
+Quote Post
FiDO
post 22.05.2004, 10:30:13
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

Ostrzeżenie: (0%)
-----


Kod
    function progress_text(txt)

    {

        if (document.layers)

        {

            document.layers.progress_info.document.write(txt);

            document.layers.progress_info.document.close();

        }

        else

        {

            document.getElementById('progress_info').innerHTML=txt;

        }

    }


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post
Bakus
post 22.05.2004, 11:37:30
Post #3


Administrator serwera


Grupa: Przyjaciele php.pl
Postów: 909
Pomógł: 0
Dołączył: 12.08.2003
Skąd: /var/www/wroclaw.php

Ostrzeżenie: (0%)
-----


Całość wygląda tak:
[php:1:6cc306a1b9]<?php ob_start(); ?>
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=iso-8859-2">
<?php
function progress_text($t="")
{
print '<script type="text/javascript" language="JavaScript">' . "n";
print '<!--' . "n";
if(!empty($t))
{
print "t" . 'progress_text('<table align="center" width="100%" cellspacing="0" cellpadding="0" border="0"><tr><td align="center" class="titre1">' . $t . '</td></tr></table>');' . "n";
}else{
print "t" . 'progress_text(" ");' . "n";
}
print '//-->' . "n";
print '</script>' . "n";
@ob_flush();
}
?>
<SCRIPT TYPE="text/javascript" LANGUAGE="JavaScript">
<!--
function progress_text(txt)
{
if (document.layers)
{
document.layers.progress_info.document.write(txt);
document.layers.progress_info.document.close();
}
else
{
document.getElementById('progress_info').innerHTML=txt;
}
}
// -->
</SCRIPT>

</HEAD>
<BODY>
<div id="progress_info"> </div>
<?php
progress_text("Pracuję...");
$a = implode('', file("http://eduseek.interklasa.pl/urn/konkurs/index.php"));
progress_text(" ");
print '<PRE>' . htmlspecialchars($a) . '</PRE>';
?>
</BODY>
</HTML>
<? ob_end_flush(); ?>[/php:1:6cc306a1b9]
Powyższy kod to zawartość pliku:
http://ftp.idn.myftp.org/forum.php.pl/test.php

Nie działa ani w IE ani w Mozilli... sad.gif


--------------------
Powrót do przeszłości :)
Go to the top of the page
+Quote Post
FiDO
post 22.05.2004, 12:00:47
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

Ostrzeżenie: (0%)
-----


Sama funkca w JS, ktora Ci podalem jest dobra, sprawdzalem zarowno w IE jak i Mozilli.
Zminimalizuj troche kod, w ktorym Ci to nie dziala, bo ten co jest w linku jest przydlugawy.

Pozatym co nie dziala?? Wyskakuje blad JS? Nie widac ladowania?


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post
Bakus
post 22.05.2004, 12:15:47
Post #5


Administrator serwera


Grupa: Przyjaciele php.pl
Postów: 909
Pomógł: 0
Dołączył: 12.08.2003
Skąd: /var/www/wroclaw.php

Ostrzeżenie: (0%)
-----


ale jakimś dziwnym trafem Twój kod nie działa mi wogóle (ani w ie, ani w mozilli), tymczasem stary (różni się tylko kod funkcji w JS) działa... tylko w ie, ale działa...


--------------------
Powrót do przeszłości :)
Go to the top of the page
+Quote Post
FiDO
post 22.05.2004, 12:34:46
Post #6





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

Ostrzeżenie: (0%)
-----


Sprawdzales samego JS'a osobno? Bo ja tak i on dziala, a to ze nie dziala Ci w tym skrypcie to jest wina buforowania.
[php:1:4dd78523ac]<HTML>
<HEAD>
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=iso-8859-2">
<?php
function progress_text($t="")
{
print '<script type="text/javascript" language="JavaScript">' . "n";
print '<!--' . "n";
if(!empty($t))
print "t" . 'progress_text('<h4>' . $t . '</h4>');' . "n";
else
print "t" . 'progress_text(" ");' . "n";

print '//-->' . "n";
print '</script>' . "n";
flush();
}
?>
<SCRIPT TYPE="text/javascript" LANGUAGE="JavaScript">
<!--
function progress_text(txt)
{
if (document.layers)
{
document.layers.progress_info.document.write(txt);
document.layers.progress_info.document.close();
}
else
{
document.getElementById('progress_info').innerHTML=txt;
}
}
// -->
</SCRIPT>

</HEAD>
<BODY>
<div id="progress_info"> </div>
<?php
progress_text("Pracuję...");
$a = implode('', file("http://eduseek.interklasa.pl/urn/konkurs/index.php"));
progress_text(" ");
print '<PRE>' . htmlspecialchars($a) . '</PRE>';

?>
</BODY>
</HTML>
[/php:1:4dd78523ac]

"Dziwnym trafem" ten kod dziala...


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post
Bakus
post 22.05.2004, 13:34:03
Post #7


Administrator serwera


Grupa: Przyjaciele php.pl
Postów: 909
Pomógł: 0
Dołączył: 12.08.2003
Skąd: /var/www/wroclaw.php

Ostrzeżenie: (0%)
-----


nio i tu mamy problem... wykorzystuję ob_* do późniejszej weryfikacji niektórych danych...
W takim układzie chyba pozostanę przy statym rozwiązaniu... ale mimo wszystko dzięki za pomoc...
pomógł dałem, bo może to być pomocne osobom, ktore nie muszą korzystać z ob_* i im wystarczy flush(); ...


--------------------
Powrót do przeszłości :)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 31.07.2025 - 06:29