javascript:void(0)

w dziale Opera
pankot napisał(a):

od czasu do czasu natykam się na strony mające linki w takiej postaci ,że po najechaniu na nie pojawia się tooltip "javascript:void(0)"

przykład:
ruchomy obrazek na http://www.logoing.com/
pod IE działa ,a pod Operą (bulid 10063) już nie

może strony są źle napisane ,może mam coś wyłączone-nie wiem
co zrobić aby to zadziałało ?

Zaufany napisał(a):

Sprawdź maskowania jako Firefox i jako IE.

pankot napisał(a):

maskowanie nic nie daje
problem chyba leży gdzie indziej

Zaufany napisał(a):

1. Najpierw sprawdza się maskowania. Czasami rozwiązuje to problem. Bardzo też pomaga w jego diagnozowaniu.
2. Zasadniczo konstrukcja "javascript:void(0)" sama z siebie nic nie robi. Jeśli zobaczysz ją na stronie, sama strona będzie bardzo niskiej jakości. Tak niskiej, że Opera może nie zdołać jej poprawnie wyświetlić, podobnie Firefox, Safari i inne oparte o te silniki. Zasadniczo takie strony były pisane tylko z myślą o przeglądarce Microsoftu, a ich poprawa zajmuje więcej czasu, niż napisanie całej strony od nowa.
3. W tym konkretnym przypadku brakuje Operze obsługi właściwości 'rules' dla obiektu arkusz stylów.

h3x napisał(a):

A nie zauwazyles aby, ze takich linkow nie da sie otworzyc mmb? Taki zabieg otworzy Ci nowa pusta karte o nazwie "javascript:void(0)". W niektorych przypadkach oznaczalo to dla mnie przymus otwarcia lmb i... dzialalo bigsmile

pankot napisał(a):

w większości przypadków nie da się poprawnie otworzyć takich linków
może jest gdzieś jakiś UserJScript który by w tym pomagał ?

ja_szczur napisał(a):

takich linków (o takim adresie) się nie otwiera ;-)
ogólnie chodzi o to, że w adresie linku nie przekazuje się wywołań funkcji itd.
do tego służy atrybut onclick (a jeszcze lepiej, jak używa się attachEvent/addEventListener)

<a href="javascript:void;" onclick="wywolaj_funkcje();">Kliknij mnie!</a>

takie linki służą do wywoływania poleceń javascript (czyli zmiany czegoś na stronie, ajax), nie przenoszą bezpośrednio na jakąś witrynę

uniqiq napisał(a):

Coś ściemniacie (oprócz ja_szczur'a). javascript:void(0) jest bardzo często stosowaną metodą na różnych stronach internetowych. Nie twierdzę że jest to najlepsza możliwa metoda, ale Opera na pewno sobie z nią radzi. Konkrety Panowie! Konkretne linki - gdzie nie działa?

W przypadku podanej strony wystarczy zajrzeć do konsoli błędów.
Kod przejechany jakimś obfuscatorem, więc wygląda masakrycznie i nie wiadomo o co w nim właściwie chodzi, ale leci jak byk:

JavaScript - http://www.logoing.com/
Timeout thread: delay 100 ms
Error:
name: TypeError
message: Statement on line 18: Cannot convert undefined or null to Object
Backtrace:
  Line 18 of linked script http://www.logoing.com/script.js: In function F_F1
    for (var i=0;i<ss.rules.length;i++){var t=ss.rules[i].selectorText;var Y6=t.substring(t.indexOf("#")+1,999);var theContainer=document.all.tags('SPAN')[Y6];if(typeof theContainer=="undefined")
  Line 5 of linked script http://www.logoing.com/script.js: In function F_cMain
    if(navigator.appName!='Netscape')F_F1();
  Line 4 of inline#3 script in http://www.logoing.com/: In function F_doLoaded
    	document.main = new F_cMain();
  Line 1 of unknown script 
    window.F_doLoaded();
stacktrace: n/a; see 'opera:config#UserPrefs|Exceptions Have Stacktrace'


PS: Pod FF3 też nie działa

ja_szczur napisał(a):

ale te linki mają nie działać ;-)
instrukcja javascript:void(0) mówi przeglądarce: "nie rób nic"

po ich kliknięciu może być wykonana jakaś akcja (z atrybutu onclick, onmouseover itd.) - a czy się wykona czy nie, to zależy od skryptu - wspomniane void w adresie o niczym tutaj nie decyduje

w nowych oknach linki te się nie otworzą, bo to nie są już linki - to "wyzwalacze" funkcji javascript

dla przykładu skrypt, który napisałem: (grafika nie jest jeszcze gotowa)
http://jaszczur.pdg.pl/przelicznik/index.html
tutaj kliknięcia w symbole profili uaktywniają odpowiednie pola, zwróćcie uwagę, że cały czas jesteśmy na stronie index.html

btw pisze się "ja_szczur-a", ponieważ apostrofu używamy, jeśli wymowa ostatniej głoski jest inna od formy pisanej ;-)

uniqiq napisał(a):

Wszystko co napisałeś to prawda. Na podanej stronie nie działa wywołanie funkcji w onclick. To oczywiście problem skrytpu, a nie obsługi a href=javasctipt:void(0) - to nie jest błąd w Opery.
Dodam jeszcze, że czasami twórcy stron zawierają w onclick przekierowanie na inną stronę, coś w stylu:

<a href="javascript:void(0)" onclick="document.location=...">

To jest coś czego naprawdę nie rozumiem. Nie tylko nie można otworzyć takiego czegoś na nowej stronie, ale np. nie działają programy do przeszukiwania/pobierania stron, oraz przeglądarki nie obsługujące javascriptu. Całe szczęście że Opera Mini sobie z tym radzi.

Originally posted by ja_szczur:

pisze się "ja_szczur-a", ponieważ apostrofu używamy, jeśli wymowa ostatniej głoski jest inna od formy pisanej ;-)


Wow... zaimponowałeś mi tą informacją. Dobrze wiedzieć.

czolg napisał(a):

Originally posted by ja_szczur:

btw pisze się "ja_szczur-a"


btw. jeżeli ja_szczur jest skrótowcem, to rzeczywiście odmienia się go z myślnikiem, jednak jako że nie jest (jeżeli jest, prosze mnie wyprowadzić z błędu), powinno się wyraz odmienić tak samo, jak wszystkie pozostałe, więc powinno się pisać ja_szczura. wink

Pozdrawiam. cheers

ja_szczur napisał(a):

Originally posted by czolg:

Originally posted by ja_szczur:

btw pisze się "ja_szczur-a"


btw. jeżeli ja_szczur jest skrótowcem, to rzeczywiście odmienia się go z myślnikiem, jednak jako że nie jest (jeżeli jest, prosze mnie wyprowadzić z błędu), powinno się wyraz odmienić tak samo, jak wszystkie pozostałe, więc powinno się pisać ja_szczura. wink

Pozdrawiam. cheers



tak! zapędziłem się, tak jakoś większość nicków odmienia się na angielską "modę"
no i jak jest z tym "btw" w końcu? ;-) z kropką to czy bez? mi się wydaje, że bez (patrząc jak to ludzie piszą)

czolg napisał(a):

Originally posted by ja_szczur:

no i jak jest z tym "btw" w końcu? ;-) z kropką to czy bez? mi się wydaje, że bez (patrząc jak to ludzie piszą)


W sumie masz rację - jest to również skrótowiec, więc bez kropki, ale także dużymi literami (BTW), jak ZUS, PKP itp.

Pozdrawiam wink

uniqiq napisał(a):

Przerażacie mnie. Budzi się we mnie lęk pisania na tym forum. Boję się teraz, że popełniam jakiś błąd.

ja_szczur napisał(a):

Originally posted by uniqiq:

Przerażacie mnie. Budzi się we mnie lęk pisania na tym forum. Boję się teraz, że popełniam jakiś błąd.


nie bój się, my się tylko tak wYgłUpi4my! ;-)

a tak poważnie, to człowiek uczy się przez całe życie i nigdy nie jest na naukę (na błędach, najlepiej cudzych) za późno ;-)

pozdro dla purystów językowych! ;-))

BTW ale off-topic się zrobił ;-)

uniqiq napisał(a):

Moja żona ma magistra polonistyki. Na pierwszej randce biła mnie przy każdym popełnianym przeze mnie błędzie językowym. Do dzisiaj mam traumę. nervous
Off-topic się zrobił, bo Opera dobrze obsługuje void(0), więc oryginalny temat stał się nudny i wyeksploatowany. Ale pewnie wpadnie tu zaraz nasza moderatorka i rozgoni towarzystwo, zaczynając ode mnie.

golew napisał(a):

Oj tam wink informatykom i innym komputerofilom nieco "ogłady" od czasu do czasu nie zaszkodzi wink zwłaszcza, że sama bywam purystką językową wink
A ciekawy offtop nie jest zły wink dopóki jest kulturalnie smile
Gdyby jednak był dalej rozwijany w ciekawym kierunku, to można rozważyć wydzielenie do osobnego wątku i dyskusję językową.

ja_szczur napisał(a):

to może ja zacznę ;-)
w ogóle nie mogę znieść tworów typu "wogóle" czy nawet "wogule"
nie lubię też spolszczeń w informatyce, szczególnie słowa "ficzer" (nowy ficzer tego browsera jest extra - wtf? ^^)

nie mówię, że nie popełniam błędów, bo popełniam! ale ciągle dążę do doskonałości ;-)

uniqiq napisał(a):

Originally posted by ja_szczur:

nie lubię też spolszczeń w informatyce, szczególnie słowa "ficzer" (nowy ficzer tego browsera jest extra - wtf? ^^)


Czy masz na myśli także słowa link, albo nick? A co powiesz na angielskich skróty, jak BTW, albo WTF? devil
p Nie mniej mi za złe ja_szczurze, bo nie mam nic złego na myśli. Droczę się - to wszystko. p
Założyłem nowy temat na forum Po godzinach. Zachęcam do dyskusji. Zwłaszcza ja_szczura

krzysiek1203 napisał(a):

Mam do Was moi Drodzy pytanie, otóż, zainstalowałem sobie Operę 9.60 betę 1, wchodzę na wp.pl, główną stronę. I jest coś takiego na tej stronie, gdzie się przewija wiadomości, po lewej stronie, zawsze 3 są te strony. Po kliknięciu strzałki, aby przewinąc wiadomość, wyskakuje mi właśnie coś takiego, nad czym Wy tutaj debatujecie, rozmawiacie: "javascript:void(0)". Nie wiem od czego to się wzięło, czy jest to powodem wyłączenia czegoś w Operze, czy coś się popsuło. Jeśli ktoś by wiedział, to prosiłbym o odpowiedź.

Z góry dziękuję, pozdrawiam.

Barthezdeleted napisał(a):

Potwierdzam, trzeba będzie zgłosić jako regresion smile

Medium napisał(a):

Originally posted by krzysiek1203:

I jest coś takiego na tej stronie, gdzie się przewija wiadomości, po lewej stronie, zawsze 3 są te strony. Po kliknięciu strzałki, aby przewinąc wiadomość, wyskakuje mi właśnie coś takiego, nad czym Wy tutaj debatujecie, rozmawiacie: "javascript:void(0)".


Czy o to chodzi?

Mnie działa ten przełacznik.

Zajec napisał(a):

Wspomniana strona http://www.logoing.com/ nie działa ani w Operze ani Firefoksie, a do IE nie mam dostępu.
Znalazłem jednak stronę, gdzie takie coś pojawia się w Operze 9.60β: http://muzykazreklam.pl/t5594.html (kliknięcie na "Zobacz film").

Investigation in progresss smile

Jeżeli ktoś ma inną stronę, gdzie w Operze pojawia się adres void, a w Fx działa ─ proszę o cynk smile

krzysiek1203 napisał(a):

@medium
Tak o to chodzi, nie mam pojęcia co się zepsuło.
Na IE 7 mi to działa, na Firefoxie nie wiem, nie korzystam. Dziwna to sprawa

Medium napisał(a):

Originally posted by Zajec:

Znalazłem jednak stronę, gdzie takie coś pojawia się w Operze 9.60β: http://muzykazreklam.pl/t5594.html (kliknięcie na "Zobacz film").


Mi się ładnie rozwija okienko z filmem w formacie flash oraz dodatkową ofertą pobrania go w dwu innych formatach. Ponowne kliknięcie w link zwija okno z filmem.

Originally posted by Zajec:

Wspomniana strona http://www.logoing.com/ nie działa ani w Operze ani Firefoksie, a do IE nie mam dostępu.


Ja tam mogę poklikać tu sobie po kilku punktach menu. Stronka jest albo skromniutka, albo faktycznie nie wszystko dobrze działa.

Medium napisał(a):

Originally posted by krzysiek1203:

@medium
Tak o to chodzi, nie mam pojęcia co się zepsuło.
Na IE 7 mi to działa, na Firefoxie nie wiem, nie korzystam. Dziwna to sprawa


W Firefoksie działa, ale muszę tymczasowo nie blokować skryptów przez NoScript. W K-Meleonie działa.
To by znaczyło, że w Operze trzeba sprawdzić skrypty użytkownika, albo zablokowaną zawartość.

Do sprawdzania, czy nie ma wpływu zablokowana zawartość, przydaje się ten przycisk:
• Block content • button

krzysiek1203 napisał(a):

Mi też sie to pojawia przy tej pierwszej stronie "javascript:void(0)", w drugiej nic się nie dzieje. Więc z czym tutaj może być problemem.

Barthezdeleted napisał(a):

Coś z browserjs. Przy klikaniu na wp.pl i muzykazreklam.pl w wyczyszczonej konsoli pojawia się tylko:

JavaScript
Event thread: BeforeJavascriptURL
Opera modified the JavaScript on muzykazreklam.pl. See browser.js for details.

JavaScript
Event thread: BeforeJavascriptURL
Opera modified the JavaScript on www.wp.pl. See browser.js for details.

Zajec napisał(a):

Originally posted by medium:

Originally posted by Zajec:

Znalazłem jednak stronę, gdzie takie coś pojawia się w Operze 9.60β: http://muzykazreklam.pl/t5594.html (kliknięcie na "Zobacz film").


Mi się ładnie rozwija okienko z filmem w formacie flash oraz dodatkową ofertą pobrania go w dwu innych formatach. Ponowne kliknięcie w link zwija okno z filmem.

Uh. Dla pewności, w jakiej Operze?

Medium napisał(a):

Originally posted by Zajec:

Uh. Dla pewności, w jakiej Operze?


Sorry, nie zaktualizowałam stopki: Wersja 9.60 beta Kompilacja 10424, Browser JavaScript ustawiony na wartość 2.

Barthezdeleted napisał(a):

Wycofano browser.js Opery 9.60 i zamieniono go na ostatni użyteczny.Strona wp.pl działa poprawnie smile
1. Pomoc Sprawdź dostępność aktualizacji
2. Restart Opery

http://www.opera.com/docs/browserjs/