otwieranie miniatur zdjęć

w dziale Strony WWW w Operze
kaz61 napisał(a):

Nie mogę otworzyć minitur zdjęć np; na stronie http://www.autosan.com.pl/index.php?go=grupa&menu=2&g=1. W foxie i maxtonie się otwierają. Wersja opery 9.26. Co mam zrobić żeby to zadziałalo. Po kliknięciu na zdjęcie, wyskakuje konsola błędu o treści:

JavaScript - http://www.autosan.com.pl/index.php?go=grupa&menu=2&g=1.
Javascript URL thread: "javascript:popImage('/img/autobusy/H710MB Solina 1.jpg','Autosan H7-10MBSOLINA')"
Error:
name: ReferenceError
message: Statement on line 19: Undefined variable: imgWin
Backtrace:
  Line 19 of inline#1 script in http://www.autosan.com.pl/index.php?go=grupa&menu=2&g=1.: In function popImage
    	with (imgWin.document){
  Line 1 of unknown script 
    popImage('/img/autobusy/H710MB Solina 1.jpg','Autosan H7-10MBSOLINA')
stacktrace:   ...  Line 1 of unknown script 
    popImage('/img/autobusy/H710MB Solina 1.jpg','Autosan H7-10MBSOLINA')


adas skrócił treść konsoli błędów smile

JaDo napisał(a):

Przedstawiaj się jako Firefox

Originally posted by kaz61:

wyskakuje konsola błędu o treści


Tiaa, bigsmile .

golew napisał(a):

kaz61, litości. Wrzuć to w plik i dołącz do posta a nie serwuj nam taką długaśność.

adas napisał(a):

Już zrobione smile

daroc napisał(a):

Originally posted by kaz61:

message: Statement on line 19: Undefined variable: imgWin


Po prostu skrypt odnosi się do zmiennej imgWin, która nie istnieje. Dlaczego nie istnieje?
Fragment funkcji do otwierania okienka wygląda tak:
var isNN=(navigator.appName=="Netscape")?1:0;
var isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;}
[...]
function popImage(imageURL,imageTitle){
if (isNN){imgWin=window.open('about:blank','',optNN);}
if (isIE){imgWin=window.open('about:blank','',optIE);}
[...]

Autor strony wyświetla różne okienka w zależności od używanej przeglądarki (pewnie po to, żeby okienko było dokładnie takie, jak życzy sobie autor). Mamy osobną definicję dla IE i dla Netscape. Niestety, autor nie przewidział możliwości, w której użytkownik używa jakiejkolwiek innej przeglądarki. W takim wypadku żadne okienko nie jest otwierane, więc późniejsze odnoszenie się do "uchwytu" okienka (który nie został stworzony) jest bez sensu.

Skrypt zapewne został bezmyślnie przekopiowany z jakiejś bardzo starej strony ze skryptami, bo czasy popularności Netscape'a już dawno minęła, czasy rozbieżności zachowania IE i Netscape też, więc branie pod uwagę Netscape oraz IE jako zupełnie różnie zachowujące się przeglądarki (i tylko te dwie), jest pomysłem conajmniej dziwnym.

Rozwiązanie... Może zaraz uda się coś wykombinować (podmienić appName za pomocą UJS?)...

// ==UserScript==
// @name Autosan-mod
// @author daroc
// @version 0.1
// @namespace http://my.opera.com/polski/forums/findpost.pl?id=2496700
// @include http://www.autosan.com.pl*
// @include http://autosan.com.pl*
// @ujs:published 18:16 27.03.08
// @ujs:modified 18:16 27.03.08
// ==/UserScript==

function () {
  navigator.appName='Netscape';
}();

Wystarczy taki UserJS. Gdyby podmienić na 'Microsoft', chodziłoby lepiej, gdyby nie pewien szkopuł. Nie wiem jak podmienić appName w okienku JS (funkcja zmieniająca rozmiar okienka wywoływana jest bezpośrednio w okienku, które jest tworzone przez JavaScript).

kaz61 napisał(a):

ludzie wytłumaczcie na chłopski rozum, da sie to zrobić czy mam przejść na inną przeglądarkę. Bo to niedotyczy tylko tej strony ale także innych.

uniqiq napisał(a):

wchodzisz na stronę której adres podałeś a potem:

F12 / Edit site preferences / Network / Browser Identification / Mask as FireFox

adas napisał(a):

Originally posted by uniqiq:

F12 / Edit site preferences / Network / Browser Identification / Mask as FireFox


Albo prawy klik - preferencje dla witryny - karta Sieć - Identyfikacja przeglądarki - Przedstawiaj sie jako Firefox

Nie trzeba maskować - w tym wypadku wystarczy przedstawianie.

No i jeszcze należy wysłać mejla do firmy smile Ja już wysłałem parę godzin temu - do prezesa wink bo nie znalazłem adresu webmastera smile

kaz61 napisał(a):

Wielkie dzięki ta strona działa. To teraz napiszcie co mam zrobić z tym fantem strona http://www.eska.pl/index.php?page=1377 próbuje właczyć któreś radio w wyskakującym oknie i pojawia się komunikat - <www.eska.pl> document.OggXPlayer undefined Zatrzymaj wykonywanie skryptów - zatrzymuje i nic.

daroc napisał(a):

Aa tak, wyjaśniając przyczynę zacząłem tworzyć (niepotrzebnie) jakieś dziwne rozwiazanie. wink

uniqiq napisał(a):

Originally posted by kaz61:

Wielkie dzięki ta strona działa. To teraz napiszcie co mam zrobić z tym fantem strona http://www.eska.pl/index.php?page=1377 próbuje właczyć któreś radio w wyskakującym oknie i pojawia się komunikat - <www.eska.pl> document.OggXPlayer undefined Zatrzymaj wykonywanie skryptów - zatrzymuje i nic.



http://my.opera.com/polski/forums/topic.dml?id=225165

Ryszard napisał(a):

Originally posted by kaz61:

To teraz napiszcie co mam zrobić z tym fantem strona http://www.eska.pl/index.php?page=1377 próbuje właczyć któreś radio w wyskakującym oknie i pojawia się komunikat - <www.eska.pl> document.OggXPlayer undefined Zatrzymaj wykonywanie skryptów - zatrzymuje i nic.

Było - http://my.opera.com/polski/forums/topic.dml?id=225165
Zestaw adresów do słuchania http://my.opera.com/Ryszard/links/

kaz61 napisał(a):

Dziękuje wszystkim za pomoc. Na około ale działa korzystam XM playa. Jest jeden problem jak skopiuje adres z /my.opera.com/Ryszard/links/ na play liscie ginie nazwa stacji. Jak mozna przeprowadzic edycjie nazwy stacji.

Ryszard napisał(a):

Originally posted by kaz61:

Jak mozna przeprowadzic edycjie nazwy stacji.

Widzisz taką nazwę stacji, jaką ustawił nadawca. W XMPlay można to zmienić przez - prawoklik w pozycję na playliście → Ad to library, potem na zakładce Library znowu prawoklik → Track Info → zaptaszkować "Override" → w liniję Title wpisać swój tekst i kliknąć w [Apply].

kaz61 napisał(a):

Ryszard wielkie dzieki poraz drugi.