Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyłączony JS w przeglądarce - co działa, co nie?
MariuszS
post 11.01.2013, 17:48:53
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 14.09.2004
Skąd: Radom

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


Witam,
Czy to normalne, że po wyłączeniu JS w przeglądarce takie rzeczy jak: document.getElementById('boldStuff2').innerHTML = userInput; działają?
To co w takim razie nie działa?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
Crozin
post 11.01.2013, 17:52:34
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Takie coś nie ma prawa działać po wyłączeniu obsługi JS w przeglądarce.
Go to the top of the page
+Quote Post
MariuszS
post 11.01.2013, 17:54:32
Post #3





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 14.09.2004
Skąd: Radom

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


  1. <script type="text/javascript">
  2. $(window).ready(function(){
  3. function f(){
  4. alert('aaaa');
  5. document.getElementById('demo').className='hidden';
  6. }
  7. $("#c").click( function(){ f();});
  8. });
  9. </script>


  1. <div id="c">KLIK</div>
  2. <div id="demo" class="">coś</div>


To tak po krótce... I czemu z wyłączoną obsługą JS wyskakuje alert oraz zmienia się klasa? Teoretycznie nie powinno...

Np. setTimeout, setInterval przestaje działać, a to wyżej nie ohno-smiley.gif

Ten post edytował MariuszS 11.01.2013, 18:07:15
Go to the top of the page
+Quote Post
kamil4u
post 11.01.2013, 20:42:16
Post #4





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


Wrzuć przykład na jakiś serwer. Napisz na czym testujesz.


--------------------
Go to the top of the page
+Quote Post
MariuszS
post 13.01.2013, 23:43:37
Post #5





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 14.09.2004
Skąd: Radom

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


Ten kawałek kodu nie wystarczy?
http://kaizen.domenomania.pl/js.php
KLIK otwiera alert, wyłączam JS->KLIK otwiera alert. Dopiero po przeładowaniu strony KLIK nie otwiera alertu.
KLIK2 otwiera alert, wyłączam JS->KLIK2 nie otwiera alertu - nie wymaga przeładowania.
Ale jak sprawić by w takiej konfiguracji jak działa KLIK, bez przeładowania JS sie nie wykonywał?

Any idea?

Ten post edytował MariuszS 11.01.2013, 23:58:45
Go to the top of the page
+Quote Post
kamil4u
post 14.01.2013, 01:07:17
Post #6





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


Faktycznie tak jest. Nie mam pojęcia jak rozwiązać Twój problem. Ale z drugiej strony kto wyłącza JS akurat na Twojej stronie?


--------------------
Go to the top of the page
+Quote Post
skowron-line
post 14.01.2013, 08:59:38
Post #7





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


Wrzuć pytanie na stackoverflow niech cały świat pochyli się nad tym problemem/ciekawostką bo naprawde jest to dziwne.
Tylko nie zapomnij podać linka do tematu smile.gif


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
MariuszS
post 14.01.2013, 09:06:54
Post #8





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 14.09.2004
Skąd: Radom

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


Akurat na tej stronie co podałem nikt nie musi wyłączać, ale ten problem doskwiera mi przy jednej ważnej rzeczy...
Go to the top of the page
+Quote Post
batman
post 14.01.2013, 09:18:11
Post #9





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Sprawdziłem podany przez Ciebie przykład i jest ok, tzn. po wyłączeniu js, klikanie nie powoduje pojawienie się alertów. Testowane na Fx 18.
Nasuwa mi się jedno pytanie. Czy po wyłączeniu js, odświeżyłeś stronę?


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
MariuszS
post 14.01.2013, 09:33:46
Post #10





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 14.09.2004
Skąd: Radom

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


Nie, i właśnie o to chodzi żeby blokowało bez odświeżania strony. KLIK2 nie otwiera alertu bez przeładowania, tylko po samym wyłączeniu, a KLIK dalej otwiera... W tym cała zagadka.
Go to the top of the page
+Quote Post
aras785
post 14.01.2013, 10:14:05
Post #11





Grupa: Zarejestrowani
Postów: 859
Pomógł: 177
Dołączył: 29.10.2009

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


http://stackoverflow.com/questions/1431532...ut-it-is-active
Go to the top of the page
+Quote Post
MariuszS
post 14.01.2013, 11:08:58
Post #12





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 14.09.2004
Skąd: Radom

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


Jeżeli jest to temat który ciężko rozwikłać to może ktoś poradzi mi od drugiej strony.

Na zdarzenie jquery .click odpalam funkcję "X" w której wykonuje się kod JS z m. in. setInterval wewnątrz, jeżeli ktoś wyłączy JS w przeglądarce i wywoła .click'a to funkcja się wykona ale "oleje" setInterval wykonując resztę instrukcji (co się nie może zdarzyć w moim przypadku bo zaburzy to działanie skryptu).
Chcę zrobić by po wyłączeniu JS w przeglądarce, po wywołaniu .click funkcja "X" się w ogóle nie wykonywała, tzn. może się wykonać ale bez kodu w środku.

Próbowałem to obejść właśnie w ten sposób:
- w kodzie html wstawiłem diva z class=0,
- na początku funkcji "X" sprawdzam if'em za pomocą jquery czy class=0
- jeżeli tak to ustawiam za pomocą jquery class=1, wykonuje kod funckji "X" a na koniec ustawiam za pomocą JS (document.getElementById) class=0,
- i znowu po wywołaniu f "X" sprawdzam czy class=0.

Liczyłem, że jeżeli ktoś wyłączy JS w przeglądarce to na końcu funkcji "X" nie ustawi się class=0 i przy następnej próbie wywołania funkcji "X" kod się nie wykona.

Rozwiązanie (moim zdaniem) w teorii dobre, ale jak widać w praktyce zawiodło bo JS pomimo wyłączenia, działa.

PS. Oczywiście wszystko bez przeładowania!
Go to the top of the page
+Quote Post
!*!
post 14.01.2013, 11:31:15
Post #13





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Cytat(MariuszS @ 11.01.2013, 17:48:53 ) *
Czy to normalne, że po wyłączeniu JS w przeglądarce takie rzeczy jak: document.getElementById('boldStuff2').innerHTML = userInput; działają?

Nie i jest to błąd przeglądarki (zgłoś to). Sprawdziłem na Operze/Fx i nawet bez przeładowania strony JS nie działa.
A powód jest logiczny, przeglądarka po wyłączeniu JS stosuje się do tego dopiero po ponownym załadowaniu strony. Nie musisz się tym martwić bo jest to błąd przeglądarki a nie Twój.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
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: 19.07.2025 - 18:21