Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript]Odświeżanie ramki
miras
post
Post #1





Grupa: Zarejestrowani
Postów: 1 004
Pomógł: 9
Dołączył: 18.01.2011
Skąd: Siedlce

Ostrzeżenie: (30%)
XX---


Witam, mój problem polega na tym, że robię taki mały edytor css i po lewej stronie mam taki podgląd online i jak coś zmienię w pliku css to ta strona, które jest w iframe w podglądzie online powinna się zauktualizować od razu, teraz pokażę mniej więcej jak mam zbudowaną edycję pliku css



{sprawdzenie czy formularz został wysłany, jeżeli tak to nadpisanie pliku css}

{pobranie pliku css}


{Formularz, iframe, w którym jest pobrany wyżej plik css, submit}


jak proponujecie rozwiązać mój problem ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
b4rt3kk
post
Post #2





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Zamiast iframe zastosuj jakieś bardziej przyjazne rozwiązanie, np. pobieraj dane ajaxem do zwyczajnego diva. Jak już się uprzesz przy tych ramkach to przy kliknięciu submita dodaj również odświeżanie ramki.

  1. document.frames["nazwaRamki"].location.reload();
Go to the top of the page
+Quote Post
miras
post
Post #3





Grupa: Zarejestrowani
Postów: 1 004
Pomógł: 9
Dołączył: 18.01.2011
Skąd: Siedlce

Ostrzeżenie: (30%)
XX---


Muszę zostać przy iframe...

zrobiłem tak:

  1. <iframe id="mobi" name="mobi" src="sciezka..." height="600" width="294"></iframe>
  2.  
  3. .
  4. .
  5. .
  6.  
  7. <input type="submit" value="Zapisz" onsubmit="document.frames["mobi"].location.reload();"/>


i nie działa..

  1. <script type="text/javascript">
  2. window.setInterval(function(){
  3. var iframe = document.getElementById('mobi');
  4. iframe.src = iframe.src;
  5. },1000);
  6. </script>


coś takiego niby odświeża ramkę, ale jak zmienię w css np. tło to po odświeżeniu nadal jest to samo, dopiero jak odświeżę całą stronę (f5) to pojawia się nowy kolor...

jakby było jakieś fajne rozwiązanie w jquery działające podobnie jak iframe to mogłoby już być..
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #4





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


To formularz ma akcję submit, nie input. Dopisz sobie funkcję, która przechwyci domyślną akcję submit, ewentualnie wychwyci przeładowanie strony z formularzem.

Jak wiesz, css jest cache-owany przez przeglądarkę, by tego uniknąć wygeneruj losowy ciąg znaków przy pliku css.

  1. <link rel="stylesheet" type="text/css" href="style.css?<?php echo date('d:m:Y, h:i:s').time(); ?>" />


Coś w tym stylu.
Go to the top of the page
+Quote Post
miras
post
Post #5





Grupa: Zarejestrowani
Postów: 1 004
Pomógł: 9
Dołączył: 18.01.2011
Skąd: Siedlce

Ostrzeżenie: (30%)
XX---


  1. style.css?<?php echo date('d:m:Y, h:i:s').time(); ?>


dodałem to i niestety po odświeżeniu nadal brak zmian...
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #6





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Oczywiście plik w ramce ma rozszerzenie PHP? Jeśli tak to rzuć okiem na źródło, czy generuje datę i czas, jeśli nie to wymyśl sobie jakiś inny losowy ciąg znaków.
Go to the top of the page
+Quote Post
miras
post
Post #7





Grupa: Zarejestrowani
Postów: 1 004
Pomógł: 9
Dołączył: 18.01.2011
Skąd: Siedlce

Ostrzeżenie: (30%)
XX---


tak, to plik php i generuje czas i date ( sprawdziłem )...
Go to the top of the page
+Quote Post
zegarek84
post
Post #8





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


timestap dodatkowo nie zawsze działa by wyłączyć cache plików js i css (niektóre przeglądarki to pomijały - chyba zwłaszcza starszy IE), lepiej go dać w adresie i przekierowanie na plik php np. w htaccess...

po za tym nie musisz korzystać z iframe - podejrzewam, iż napisałeś tak, by nie nadpisywać styli na stronie, ale podgląd możesz zrobić całkiem inaczej... dajesz treść do jakiegoś div'a z unikalnym id i przy każdym selektorze możesz dodać przedrostek tego id... a jeśli chcesz to w iframe to przecież też nie musisz dodawać tam zewnętrznych styli i odświerzać iframe, wystarczy dodać/zaktualizować tam odpowiednie pode "style"... do .document w iframe możesz się dostać np. w ten sposób (oczywiście w tej samej domenie ;]):
http://www.w3schools.com/jsref/prop_frame_...entdocument.asp
dawno w to się nie bawiłem gdyż nie jestem programistą z zawodu... firebug i inne narzędzia konsolowe dostępne w innych przeglądarkach Twoim przyjacielem + trochę dokumentacji i pomyślunku ;]
Cytat(miras @ 21.11.2012, 20:02:33 ) *
tak, to plik php i generuje czas i date ( sprawdziłem )...

to zależy jak to sprawdziłeś - pamiętam swoje początki... to że sam plik generuje nic nie znaczy - sprawdziłeś, czy przeglądarka i strony nie zbuforowała?? może samo odświeżenie nie pomaga?? jak już wspominałem narzędzia konsolowe, mozilla to firebug + ewentualnie live http headers ale w sumie przy firebug'u nie potrzebne...

Ten post edytował zegarek84 21.11.2012, 22:16:24
Go to the top of the page
+Quote Post
miras
post
Post #9





Grupa: Zarejestrowani
Postów: 1 004
Pomógł: 9
Dołączył: 18.01.2011
Skąd: Siedlce

Ostrzeżenie: (30%)
XX---


Tak, ale twoja rada z tą zmianą tła to mi nie o to chodzi, bo opcję zmiany tła podałem tylko przykładowo, mam w <textarea> cały plik style.css i wlasnie w tym textarea go edytuję i nadpisuję i właśnie dlatego chcę ten podgląd online, a co do zrobienia tego w divie - możesz trochę bardziej to wytłumaczyć ? z js/jquery jestem kompletnie początkujący..

@@@ dodam jeszcze, że na tej stronie, którą mam w tej ramce musi być dostęp do przechodzenia do innych podstron w tej ramce wiec nie wiem czy da się w divie to zrobić..
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.12.2025 - 18:09