Zamiana odnośników javascript na zwykłe

w dziale Opera
cooz napisał(a):

witam,
uzywam opery juz od dluzszego czasu i aktualnie mam jeden problem ktory moze przy Waszej pomocy uda sie rozwiazac:

na niektorych stronach (np opisy programow na www.tv.wp.pl) odnosniki sa jakimis funkcjami do JS'a, a problem wyglada tak, ze jesli klikne na linka (normalnie) lewym przycikiem, okno otwiera sie ale nie w tle, a gdy powtorze czynnosc srodkowym przyciskiem myszki, otwiera sie pusta zakladka z 3ma kropkami na tytule...
czy zna ktos sposob na jakies przekierowanie lub obejscie procedu opery, aby te nieszczesne popupy otwieraly sie w tle za pomoca klikniecia 3cim przycikiem myszy?

cooz

ps
dzieki z gory

tcop napisał(a):

O też jestem ciekaw. Chociaż coś mi się zdaje, że nie ma na to rady rolleyes

michmaj napisał(a):

Nie da się. Tak sobie życzył autor strony.

Gargamel napisał(a):

Da się. Z pomocą Proxomitrona lub Privoxy (wiem, powtarzam się wink ). Trzeba tylko zbudować odpowiedni filtr.

Mayor napisał(a):

heh a jak ja się kiedyś pytałem to mi ktoś na tym forum mówił że taka jest natura javascripta, nie da się otworzyć w tle bo to nie działka opery tylko js; ja sie nie spotkałem z javascriptem który by się dał otworzyć środkowym wiec myśle że tak własnie jest, a nie że te wszystkie strony sobie tak zażyczyły
choć mogę sie mylic wink

cooz napisał(a):

znam proga, uzywam go czasem do snifowania stron gdy potrzeba mi jakiegos adresu pliku video ze streama wink

ale opera przeciez tez ma jakies filtry, style, pluginy, etc; a to jest tylko jakas drobna zmiana kilku znaczkow typu "javascript:window"+nawiasy i srednik na aktualny adres, tylko gdzie to wpisac, gdzie zmienic gdzie dodac? to jest moje dokladniej sformuowane pytane bigsmile

btw, moze sa jacys spece od takich zmiean w ang sekcji Tego forum, warto tam spytac?

michmaj napisał(a):

Teraz mi przyszła do głowy oczywista rzecz.
F12 -> Open pop-ups in background (otwieraj wyskakujące okienka w tle) będzie miało podobny efekt.

Gargamel napisał(a):

Originally posted by Mayor
(...)taka jest natura javascripta, nie da się otworzyć w tle bo to nie działka opery (...) ja sie nie spotkałem z javascriptem który by się dał otworzyć środkowym wiec myśle że tak własnie jest (...) choć mogę sie mylic wink


Mylisz się cool . Należałoby tylko wyekstrahować z linku w takiej postaci jak "<a href=javascript:window" adres strony i wstawić na jego miejsce link "zwykły". To na pewno potrafią Proxomitron i Privoxy. Niestety nie znalazłem gotowej regułki, a sam męczę się nad takową już kolejną godzinę rolleyes . Widocznie bycie programistą nie jest mi pisane wink .

Jeśli ktoś ma jakieś pomysły... Na razie wygląda to tak:
s/(<a href=)*javascript:*\((['"]*['"])*\)*(>)/$1$2$3/sg


Originally posted by michmaj
Teraz mi przyszła do głowy oczywista rzecz.
F12 -> Open pop-ups in background (otwieraj wyskakujące okienka w tle) będzie miało podobny efekt.


Jednak wtedy także "znienackie" pop-upy będą się otwierać w tle (zamiast np. nie otwierać się wogóle).

michmaj napisał(a):

Originally posted by Gargamel

Jednak wtedy także "znienackie" pop-upy będą się otwierać w tle (zamiast np. nie otwierać się wogóle).


A no tak. Trzeba by mieć łysz o ficzer "blokuj niechciane okienka, a chciane otwieraj w tle"

cooz napisał(a):

spox gargamel ze probojesz cos wykombinowac z progsami od proxy, ale mi nie na reke("ja nie ochota", po indiansku) zeby miec caly czas wlaczonego proga tylko dla jednego malego przekombinowania z popupami, napewno nieda sie do tego zmusic opery?

Gargamel napisał(a):

Originally posted by cooz
spox gargamel ze probojesz cos wykombinowac z progsami od proxy, ale mi nie na reke


Ale mnie na rekę cool . Mam zwyczaj klikania na wiele odnośników środkowym przyciskiem myszy, i powracania do tak otwartych stron po pewnym czasie. Nieco frustrującą jest sytuacja, w której okazuje się, że 10 takich stron to tylko puste karty...

napewno nieda sie do tego zmusic opery?


IMHO nie.

tcop napisał(a):

OK bigsmile
Na 100% da się to zrobić za pomocą Proxomitronka, bo sam przed chwilą to zrobiłem i działa p happy
Tworzymy nowy filtr, który ma wyglądać tak jak na tym obrazku smile

URL Match:

$TYPE(htm)

Matching Expression: ('javascript' piszemy razem)
<a href="javascript: * ('\1' * );">\2 </a>

Replacement Text:
<a href="\1" target="_blank"> \2 </a>

1 to kawalek linka np. opis.html?pr_tele_id=3358610247 a pod 2 jest opis.
Później 1 i 2 są przepisywane i już bigsmile
Działa z wp.pl, nie wiem jak z innymi stronami. Aha, no i co najważniejsze można je otwierać w tle, bo to już są zwykle linki, a nie JS.

Gargamel napisał(a):

Originally posted by tc_
Działa z wp.pl, nie wiem jak z innymi stronami.


Wystarczy, że w kodzie strony będzie <a href=' i już nie będzie działać. Nie wiem czy Proxomitron akceptuje coś takiego jak ['"], ale warto byłoby spróbować, by ostatecznie wyglądało to tak...
<a href=['"]javascript:*(['"]\1['"]*);['"]>\2</a>

Acha, fragment \2</a> jest chyba niepotrzebny. Może przecież zostać jak jest.

Niestety odpowiedniej dla Privoxy regułki nadal nie udało mi się stworzyć knockout ...

tcop napisał(a):

Wystarczy, że w kodzie strony będzie <a href=' i już nie będzie działać. Nie wiem czy Proxomitron akceptuje coś takiego jak ['"], ale warto byłoby spróbować, by ostatecznie wyglądało to tak...


W Proxomitronie jest coś takiego jak OR, czyli |
Co daje kod:
<a href=['|"]javascript: * (['|"]\1['|"] * );['|"]>\2 </a>

Edit: Działa też coś takiego
<a href="javascript: * ("\1' * );'>\2 </a>
W helpie jest opis wszystkiego smile

Mayor napisał(a):

Gargamel działa w Privoxie to co wyżej jest napisane że działa w Proxomitronie?
bo chciałbym sobie takie coś "szczelić" na wszystkich stronach (żeby JS dało się otwierać w tle)
jak juz wykumasz to instrukcja co i gdzie wpisać byłaby bardzo mile widziana ;]
takie programy w których trzeba ręcznie wykumać składnię żeby coś zrobic to nie jest to co mayory lubią najbardziej wink w sumie dlatego WYSWIGI są tak popularne

Mayor napisał(a):

party beer yes

zaraz wypróbuje

//edit: nie działa, hmm?

wejdź na
http://sport.gazeta.pl/pilka/1,35351,2379517.html
i kliknij środkowym na twarz Mutu, u mnie dalej się otwierają trzy kropeczki z pustą stroną

tak wogóle to wkleiłem we filters.ini tak jak napisałeś na forum czyli rzekomo ze niepotrzebnymi spacjami, ale jakoś jak porównuje to z tym co jest w załącnziku to nie widze róznicy, a wręcz na obrazku jest pare nadmiarowych spacji confused

PS. zamiast wchodzić do katalugo z Privoxy można też kliknąć prawym ikonke w trayu i wybrać Edit -> Filters

Gargamel napisał(a):

Originally posted by Mayor
wejdź na
http://sport.gazeta.pl/pilka/1,35351,2379517.html
i kliknij środkowym na twarz Mutu, u mnie dalej się otwierają trzy kropeczki z pustą stroną


Masz rację. Zaraz to rozpracuję (mam nadzieję wink ). W każdym razie ze stroną http://www.tv.wp.pl/ sobie radzi.

tak wogóle to wkleiłem we filters.ini tak jak napisałeś na forum czyli rzekomo ze niepotrzebnymi spacjami


Nie rzekomo. Na forum jest niepotrzebna spacja między "java" a "script".

wręcz na obrazku jest pare nadmiarowych spacji confused


Może tak to wygląda... Cóż, w każdym razie w samym kodzie ma nie być ŻADNYCH spacji.

Mayor napisał(a):

poprawiłem na 'javascript', wszedłem na http://www.tv.wp.pl/
rozumiem że chodzi o niebieskie linki przy niektórych pozycjach gdzie wyskakuje szerszy opis programu w javascriptowym okienku

no więc klikam je środkowym i również wyskakuje w tle pusta strona z 3kropkami w nazwie sad

Gargamel napisał(a):

Originally posted by Mayor
tle pusta strona z 3kropkami w nazwie :(


Tu już nie wiem o co chodzi. Musiałeś coś jednak źle zrobić. Daję słowo Gargamela, że u mnie na tej stronie działa :cool: .

/EDIT:
Dobra, wiem czemu filtr na stronie http://sport.gazeta.pl/pilka/1,35351,2379517.html nie działał. Po prostu w kodzie strony jest "Enter" - kod nie zawiera się w jednej linii. Aby to obejść użyłem opcji, która sprawia że filtr stosuje się nie tylko do pojedynczych linii kodu.

s@<a href=['"]?javascript:[a-z]+\((['"].*['"]).*>@<a href=$1\>@Usg


P.S. Poprawiam filtr w pierwotnym poście.

Mayor napisał(a):

zmieniłem kod na ten z Twojego edytowanego posta i:
na wyborczej javalinki a konkretnie fotki mają teraz źródło takie

http://sport.gazeta.pl/pilka/pop

dadzą sie otworzyć w tle ale wyskakuje tylko napis o błędze na stronie, że nie ma takiej strony; w sumie nie dziwne bo taki adres nie isnieje na serwerze, powinien być jakiś link do pliku bezpośredni jak http://sport.gazeta.pl/pilka/pop/obrazek.jpg

na http://www.tv.wp.pl/ mam to samo, otwiera się w tle z błedem bo nie ma takiej strony jak z window w nazwie (a konkretnie każdy javalink ma adres
http://www.tv.wp.pl/okno
podczas gdy przykładowy oryginalny ma adres:

javascript:okno('opis.html?pr_tele_id=3358610260',775,500,1);

to już kurcze sam nie wiem...

PS. na domiar złego co jakiś czas zaamiast danej strony wchodzi mi na stronę o błedzie z privoxy (bład 503)

Gargamel napisał(a):

Zdaje się, że skopiowałeś mój filtr przed jego ostatnią edycją. Sprawdź jeszcze raz czy filtr wygląda dokładnie tak jak w moim poście. Jeśli tak: nie wiem o co chodzi. Zaglądnąłem na podaną przez Ciebie stronę i wygląda na to, że wszystko działa jak należy. Napisz w co konkretnie klikałeś.

A co do PS-a: To już na pewno nie wina filtra. Albo jest tak, że naprawdę (nie z winy Privoxy) występuje ten błąd (Privoxy podmienia strony błędów - może to stało się przyczyną Twego zdziwienia) albo to sprawka któregoś z pozostałych filtrów (ewentualnie timeout spowodowany tym, że Privoxy zbyt długo "przerabia" stronę - włączonych zbyt wiele filtrów).

Mayor napisał(a):

dodałem w filter.ini składnie z tego posta
http://my.opera.com/forums/showthread.php?s=&postid=738354#post738261

poczatkowo zamieniłem tylko "java script" na "javascript" ale potem sie zorientowałem że jeszcze zostały "a href" więc zamieniłem je na "ahref" bo napisałeś że ma nie być ŻADNYCH spacji

w ząłączniku widać ustawienia z privoxy a także trzy próby otwarcia java-linka z wyborczej w tle (są one puste)

privoxy settings.png

Gargamel napisał(a):

Originally posted by Mayor
poczatkowo zamieniłem tylko "java script" na "javascript" ale potem sie zorientowałem że jeszcze zostały "a href" więc zamieniłem je na "ahref" bo napisałeś że ma nie być ŻADNYCH spacji


Hehe. Oczywiście w "a href" spacje być muszą. Mój błąd. Mam nadzieję, że obecna instrukcja nie pozostawia już żadnych wątpliwości.

w ząłączniku widać ustawienia z privoxy a także trzy próby otwarcia java-linka z wyborczej w tle (są one puste)


Wygląda OK. Nadal nie wiem o co biega. Jak już pisałem - u mnie wszystko gra. W załączniku przykład.

Acha, pod tym linkiem - http://softcoffee.net/links-dejavascriptizer.txt jest plik tekstowy z filtrem. Tam już na pewno nie będzie żadnych niepotrzebnych spacji itp.

wp-sport-po-kliku.gif

Gargamel napisał(a):

Mam, nareszcie mam! :hat: ;)

Filtr będzie działał niezależnie od tego czy webmajster umieścił znak ' czy znak " czy może wogóle nic nie umieścił.

A teraz instrukcja obsługi:



§1
FILTER: links-dejavascriptizer Zamienia linki javascriptowe na zwykle

s@<a href=['"]?javascript:[a-z]+\((['"].*['"]).*>@<a href=$1\>@Usg

W powyższym filtrze w słowie "javascript" ma nie być spacji.

http://softcoffee.net/links-dejavascriptizer.txt - tutaj plik tekstowy z filtrem.

P.S. Za wszelkie rozwalenia stron tym kodem nie odpowiadam ;) .

Mayor napisał(a):

Hehe. Oczywiście w "a href" spacje być muszą. Mój błąd. Mam nadzieję, że obecna instrukcja nie pozostawia już żadnych wątpliwości.



a jednak wink

napisałeś "W powyższym filtrze pw słowie "javascript" ma nie być spacji." ale po javascript jest jeszcze jedno "a href" wink kurcze porąbana jest ta funkcja
 na forum skoro zamienia kod wynikowy na jakiś swój a przecież własnie temu powinna służyć

wreszcie działa na obu testowych stronach (wyborcza i wp)  :hat: javascripty moge otwierać jak linki w tle dzieki czemu na stronach z wieloma obrazkami mogę je wszyskie wyklikać od razu i przeglądać później, dzięki wielkie :cheers:

Gargamel napisał(a):

Originally posted by Mayor
kurcze porąbana jest ta funkcja

 na forum skoro zamienia kod wynikowy na jakiś swój a przecież własnie temu powinna służyć


Też tak myślę wink . Wydaje mi się, że na forach phpbb nie ma takiego problemu... Przez te spacje wątek się wydłużył o pare postów bigsmile .

javascripty moge otwierać jak linki w tle dzieki czemu na stronach z wieloma obrazkami mogę je wszyskie wyklikać od razu i przeglądać później


I o to chodzi wizard .

Mayor napisał(a):

kurcze ten programik jest zarąbisty bigsmile
luknij http://www.wislakrakow.com/ obbanerowane jak nie wiem co
dodałem nazwę strony i filter "block" i już strona ładuje sie szybciej bez badziewia
tylko bym musiał pokombinować bo np wywala przy okazji bannerki dwóch stron normalnych i wstawia tam domyślny pattern w szachownice

takie zaawansowane blokowanie reklam powinno być w operze dostępne od początku, przecież to program (także a może i głównie) dla zaawansowanych ludzi; konkretne strony można obcinać z dowolnych fragmentów

//jak wyciąć tam flashe? dodałem tam akcje z listy o nazwie
filter {shockwave-flash}
ale ciągle flashki są

Gargamel napisał(a):

Originally posted by Mayor
jak wyciąć tam flashe? dodałem tam akcje z listy o nazwie
filter {shockwave-flash}
ale ciągle flashki są


U mnie, po uaktywnieniu tego filtra, nie ma (może powinieneś odświeżyć stronę albo wyłączyć i ponownie włączyć Privoxy). Jest niestety pare buttonów (choć sam dodawałem do filtra banners-by-size nowe rozmiary)...

BTW - domyślnie włączony filtr "filter webbugs" wycina niepotrzebnie niektóre fragmenty stron (np. "obwódki" na Onecie). Dlatego dodałem "-filter webbugs" do user.action.
W sieci można natomiast znaleźć inny, przydatny filtr wycinający Google AdWords.

Mayor napisał(a):

nie kumam - teraz wogóle nie mogę wejść na http://www.wislakrakow.com przy włączonym privoxie
tzn. mam w Operze buttonika do włączania/wyłączania proxy więc tym włączam i wyłączam kiedy ma mi filtrować
przy wyłączonym proxy wchodzę na stronę jak zawsze
przy włączonym (privoxy w akcji) nie wchodzi, wogóle nic sie nie pokazuje (na pasku stanu widnieje "Wysyłanie żądania do www.wislakrakow.com (localhost)" )

jako akcje dla w/w strony dałem tylko
+filter {banners-by-size}
+filter {shockwave-flash}

czułem że było zbyt fajnie żeby było prawdziwie mad

PS. zarówno programik jak i opere zrestartowałem

//edit: zmieniłem z powrotem i zostawiłem tylko filtr banner-by-size ale strona się ładuje z banerami znowu, jakby niczego nie było faint

Gargamel napisał(a):

W poprzednim poście napomknąłeś coś o "block". Czy przypadkiem nie zablokowałeś tej strony? p

Mayor napisał(a):

takie coś mam i nie ładuje mi się strona wogóle albo ładuje mi sie zarówno z banerami jak i flaszami, pasek stanu pojawia się i znika, cuś sie posuło widać

//edit o a teraz z kolei banerki znikły, niemniej flasze pozostały faint to ja już może sobie pójde wink

//edit2: w momencie jak najezdzam kursorem na menu (to z Informacje, Multimedia itp) pojawia mi sie pasek poziomego przewijania na moment i znika, przesuwając kursor po tym menu cały pasek miga, nie wiem może to od strony skaszanionej bo pod operą nigdy mi nie wyświetlało dobrze tła strony

//edit3, hehe firefox też źle wyświetla tło cool więc stronka ewidentnie pod IE; zoomowanie też kaszani strone)

ostatecznie jeszcze raz zrestartowałem opere o privoxy i strona się ładuje, ale flaszki ciagle są

wisla filter.png

Gargamel napisał(a):

Nie wiem, nie wiem... To już nie na mój łeb wink . Jeśli chodzi o ten pojawiający się i znikający pasek (mam to samo), to podejrzewam, że to wina jakiegoś badziewia zawartego w samej stronie.

nowicjusz napisał(a):

Sorry ale od niedawna używam opery i instrukacja podana wyzej jest dla mnei troche niejasna mogłby ktos to napisac tak zeby laik sie mogł połapac???Dzieki...

Gargamel napisał(a):

Originally posted by nowicjusz
Mogłby to ktoś dokładniej opisac, skad sciagnac program privoxy i jak tam wprowadzic zmiany???


Jeszcze dokładniej? Nie wiem czy to możliwe. Co do samego Privoxy, to wymagasz chyba od innych żeby tłumaczyli cały poradnik dołączany do niego...

Strona Privoxy:
http://privoxy.org (do znalezienia przez Google)

Poradnik:
http://www.privoxy.org/user-manual/quickstart.html

A więc:


Kilka uwag rozjaśniających do tegoż poradnika na temat regułki wink :

TomekQ napisał(a):

ciekawe, czy ktos wymysli (jesli to mozliwe) regolke do user.js, ktora bedzie robila to samo;)

nowicjusz napisał(a):

Dzieki teraz wszystko działa

janbar napisał(a):

Hmmmm... - a czy przypadkiem quiris nie podawal do tego jakiegos css'a ?

Pozdrawiam,

janbar.smile)

Mayor napisał(a):

podawał ale do linków target blank otwierających się zawsze w nowej karcie
to tutaj to javasciptowe okienka/linki zamieniane na zwykłe przez proxomitrona, chociaż może i się dałoby to zrobić samą operą skoro teraz w becie 3 doszło js.ini

quiris napisał(a):

podawał ale do linków target blank otwierających się zawsze w nowej karcie
to tutaj to javasciptowe okienka/linki zamieniane na zwykłe przez proxomitrona, chociaż może i się dałoby to zrobić samą operą skoro teraz w becie 3 doszło js.ini

Czy ktoś mógłby mi wyjaśnić w czym problem, bo przyznaję, że pogubiłem się w całym wątku?

Mayor napisał(a):

Originally posted by quiris
Czy ktoś mógłby mi wyjaśnić w czym problem, bo przyznaję, że pogubiłem się w całym wątku?

pierwszy post

wejdź np. na http://sport.gazeta.pl/pilka/1,35351,2608335.html i kliknij obrazek z prawej
pojawi się (wyskoczy) okienko z powiększonym zdjęciem

teraz kliknij je środkowym przyciskiem (w tle) -> na tabie w tle wyskoczy pusta strona z "..." w tytule; nie da się więc javascriptowych linków otwierać w tle


można załadować odpowiednią regułkę do proxomitrona i takie linki zamieniac na zwykłe które mozesz otwierać jak chcesz

praktyczne użycie "dejavascriptimizera" np. ta strona http://www.wisla.w-a.pl/wisla_polonia_2005pp/
dużo zdjęć ale da się otworzyć tylko jedno naraz; gdyby to były zwykłe linki możnaby pootwierać te które Cie interesują w tle (niech się ładują) a potem już spokojnie oglądać i zamykać

btw. nie wiem czy powyższa strona zawiera linki w JS, te są jeszcze jakieś inne dziwne ale chodzi mi teraz o zasade; zazwyczaj javalinki-obrazki są też linkiem do javascript:close, czyli po kliku na obrazek się on zamyka


a rozchodzi się o to czy stosując CSS albo js.ini można takie linki "dejavascriptymizować" w Operze, nie korzystając z zewnętrznych programów typu Proxomitron, i najlepiej zeby to było na jakiś buttonik bo czasem chce się mieć takie linki jakie oryginalnie są na stronie

quiris napisał(a):

a rozchodzi się o to czy stosując CSS albo js.ini można takie linki "dejavascriptymizować" w Operze, nie korzystając z zewnętrznych programów typu Proxomitron, i najlepiej zeby to było na jakiś buttonik bo czasem chce się mieć takie linki jakie oryginalnie są na stronie


Wersja eksperymentalna prostego dejavascriptera do wrzucenia do pliku User Javascript (testowane na tv.wp.pl oraz na gazeta.pl)
// *************** Skrypt zamieniający odnośniki w formacie java[b][/b]script: na normalne ******
function JsNaNormal() {
	var odnosniki = document.getElementsByTagName('a');
	for (var i = 0; i < odnosniki.length; i++) {
		var hrefOdnosnika = odnosniki[i].getAttribute('href');
		if (hrefOdnosnika.indexOf('java[b][/b]script:') != -1) {
			odnosniki[i].setAttribute('href', hrefOdnosnika.replace(/^jav[b][/b]ascript:.+\(['"]/,'').replace(/['"].+$/,''));
			}
		}
	}	
document.addEventListener('load',JsNaNormal, false);


PS. Powyższe nie działa na http://www.wisla.w-a.pl/wisla_polonia_2005pp/ Tam wykorzystano inną metodę (zdarzenie onmousedown) Jak znajdę chwilkę to skrobnę coś do tej strony.

Mayor napisał(a):

Wersja eksperymentalna prostego dejavascriptera do wrzucenia do pliku User Javascript (testowane na tv.wp.pl oraz na gazeta.pl)

nie działa u mnie

http://wiadomosci.gazeta.pl/wiadomosci/1,60935,2626548.html
tu są dwa obrazki w JS, klikam je normalnie, wyskakują normalnie; klikam je środkowym, wyskakuje puste wokno(p) z "..."

co do http://tv.wp.pl/ - tutaj opisy do programów są u mnie w JS jak zwykle; to samo zachowanie co wyżej

u mnie w opera6.ini wszystko ok, poniżej fragment
[User Prefs]
Title=Opera 8.0 beta3 (build %s):  %t
Enable Drag=255
[b]User JavaScript=1
User JavaScript File=C:\Program Files\Opera 8.00 Beta3\profile\user.js[/b]
Opera Directory=C:\Program Files\Opera 8.00 Beta3\profile
plik user.js zapisałem w UTF-8, tak jak zwykle Opera wymaga by zapisywać pliki ini czy lng

poniżej zawartość mojego pliku user.js, może forumowe [code[b][/b]] coś przemieniło? (kiedyś wstawiało nadmiarowe spacje)

.

user.js.png

quiris napisał(a):

nie działa u mnie

A może spróbuj troszkę cierpliwie poczekać, aż cała strona się załaduje wink Skrypt uaktywnia się po załadowaniu dokumentu.

Mayor napisał(a):

no wiesz co..
u mnie ładowanie obu ww. stron trwa jakieś 1.5 sekundy, potem odczekuje 10 sekund i sprawdzam (klikam js linki)
jak długo mam czekać, minute po załadowaniu strony? coś nie chwyta, nie wiem jeszcze co..

może ktoś inny mógłby wypróbować i potwierdzić/zaprzeczyć?


PS. obsługe JS pod F12 mam ofkoz włączoną

quiris napisał(a):

u mnie ładowanie obu ww. stron trwa jakieś 1.5 sekundy, potem odczekuje 10 sekund i sprawdzam (klikam js linki)
jak długo mam czekać, minute po załadowaniu strony? coś nie chwyta, nie wiem jeszcze co

Hmm... Dziwne. Sprawdź, czy działa Ci ten plik UserJS. Dopisz na początku pliku:
alert('Plik UserJS dziala!');
I zobacz, czy po przeładowaniu jakiejkolwiek strony wyskakuje Ci okienko z komunikatem.

d.i.z. napisał(a):

U mnie działa. UserJS to moc.

Mayor napisał(a):

Originally posted by quiris
Hmm... Dziwne. Sprawdź, czy działa Ci ten plik UserJS. Dopisz na początku pliku:

alert('Plik UserJS dziala!');
I zobacz, czy po przeładowaniu jakiejkolwiek strony wyskakuje Ci okienko z komunikatem.

hmm nic nie wyskakuje...czyli nie działa coś u mnie

1. JS pod F12 mam
2. ścieżka w opera6.ini dopisana prawidłowa
3. plik ma nazwe prawidłową

possible solutions:

- dopisać
User JavaScript=1
User JavaScript File=C:\Program Files\Opera 8.00 Beta3\profile\user.js

także w pliku OperaDef6.ini ? //edit nie pomogło

- zmienić kodowanie w pliku user.js na ANSI albo inne?

sprawdze..

quiris napisał(a):

- zmienić kodowanie w pliku user.js na ANSI albo inne?

Na 90% chodzi o to.

Mayor napisał(a):

Originally posted by quiris
Na 90% chodzi o to.

yes

yess.png

Mayor napisał(a):

no ja CiĘ nie mogĘ yes
sprawdziłem jeszcze raz strony które podałem wcześniej:
http://wiadomosci.gazeta.pl/wiadomosci/1,60935,2626548.html
http://tv.wp.pl/
i jestem w szoku wink to naprawde działa! party



a dałoby się to:

1.) przypisac konkretnym tylko stronom (tj. na stronach A i B ma działać a na pozostałych nie, bądź na odwrót)

lub

2.) przypisać to pod button ("DeJavaScriptizer ON/OFF")

?

quiris napisał(a):

1.) przypisac konkretnym tylko stronom (tj. na stronach A i B ma działać a na pozostałych nie, bądź na odwrót)


Można np. tak:
var Qdomena = document.location.host.replace(/^www\./,'');
if (Qdomena == "gazeta.pl" || Qdomena == "tv.wp.pl") document.addEventListener('load',JsNaNormal, false);

2.) przypisać to pod button ("DeJavaScriptizer ON/OFF")

AFAIK W tej chwili nie jest to możliwe.

Mayor napisał(a):

Originally posted by quiris
Można np. tak:

var Qdomena = document.location.host.replace(/^www\./,'');
 if (Qdomena == "gazeta.pl" || Qdomena == "tv.wp.pl") document.addEventListener('load',JsNaNormal, false);

dopisałem to pod spodem w user.js, czyli "dejavazer" działać będzie tylko na gazeta.pl i na tv.wp.pl jak mniemam?

chciałem sprawdzić sam ale teraz się okazuje że coś nie moge teraz znaleźć innej strony z javalinkami

//edit oki znalazłem na allegro, na tej stronie dejavazer mi nie działa, ani z powyższym dopiskiem ani bez niego
http://www.allegro.pl/show_item.php?item=45445310

quiris napisał(a):

//edit oki znalazłem na allegro, na tej stronie dejavazer mi nie działa, ani z powyższym dopiskiem ani bez niego
http://www.allegro.pl/show_item.php?item=45445310

No i słusznie, bo na tej stronie nie może on działać. Nie działa również na stronie http://ranking.pl/subs.php. Do powyższych stron wymagany jest indywidualnie napisy zdecydowanie bardziej rozbudowany skrypt. Nie da się tego załatwić tym prostym skryptem, który tutaj omawiamy. Niestety.

quiris napisał(a):

Nowa wersja skryptu. Więcej stron obsługiwanych. Podawane allegro.pl jeszcze nie obsługiwane.

// ************** globalne definicje zmiennych *******************
var Qdomena = document.location.host.replace(/^www\./,'');

// ************** obsługa skryptów domenowych ********************
var SkryptyDomenowe = {
				'gazeta.pl'		: JsNaNormal,
				'tv.wp.pl'		: JsNaNormal,	
				'ranking.pl'	: JsNaNorRanking,
				'wisla.w-a.pl'	: ZamienObrazki,
				'gora.w-a.pl'	: ZamienObrazki 
				}

for (var Domena in SkryptyDomenowe) {if (Domena == Qdomena) document.addEventListener('load',SkryptyDomenowe[Domena], false); }

// *************** zamienia odnosniki js na normalne na stronie wisla.w-a.pl *********************
function ZamienObrazki() {
	var obrazki = document.getElementsByTagName('img');
	for (var i = 0; i < obrazki.length; i++) {
		if (obrazki[i].getAttribute('onmousedown')) {
			var odnosnik = document.createElement('a');
			odnosnik.setAttribute('href', obrazki[i].getAttribute('onmousedown').replace(/^MM_openBrWindow\(['"]/,'').replace(/['"].+$/,''));
			var noweDziecko = document.createElement('img');
			noweDziecko.setAttribute('src',obrazki[i].getAttribute('src'));
			odnosnik.appendChild(noweDziecko);
			var matka = obrazki[i].parentNode;
			matka.replaceChild(odnosnik, obrazki[i]);
			
		}
	}
}
	
// ******** zamienia linki w formacie javasc[B][/B]ript: na normalne /wersja podstawowa/ ******
function JsNaNormal() {
	var odnosniki = document.getElementsByTagName('a');
	for (var i = 0; i < odnosniki.length; i++) {
		var hrefOdnosnika = odnosniki[i].getAttribute('href');
		if (hrefOdnosnika.indexOf('java[B][/B]script:') != -1) {
			odnosniki[i].setAttribute('href', hrefOdnosnika.replace(/^java[B][/B]script:.+\(['"]/,'').replace(/['"].+$/,''));
		}
	}	
}

// *********** zamiana linków JS na normalne na ranking.pl ***************************
function JsNaNorRanking() {
	var odnosniki = document.getElementsByTagName('a');
	for (var i = 0; i < odnosniki.length; i++) {
		if (odnosniki[i].getAttribute('onclick').indexOf('java[B][/B]cript:window.open') != -1) {
			odnosniki[i].setAttribute('href', odnosniki[i].getAttribute('onclick').replace(/^java[B][/B]script:.+\(['"]/,'').replace(/['"].+$/,''));
			odnosniki[i].setAttribute('onclick','');
		}
	}	
}


Widzimy, z powyższego, że nie jest możliwe stworzenie uniwersalnego kodu przewidującego wszelkie możliwe konfiguracje. Każdy przypadek musi być praktycznie indywidualnie rozpatrywany :-/

adas napisał(a):

Originally posted by quiris
Widzimy, z powyższego, że nie jest możliwe stworzenie uniwersalnego kodu przewidującego wszelkie możliwe konfiguracje. Każdy przypadek musi być praktycznie indywidualnie rozpatrywany :-/



A żeby się nie zgubiło to na http://nontroppo.org/wiki/SkryptyUzytkownika się pojawiło też wink

Mayor napisał(a):

party

btw. na wp.pl działa jak poprzednio ale na gazecie już nie ;P
przykład ten sam co poprzednio
http://wiadomosci.gazeta.pl/wiadomosci/1,60935,2626548.html

na poprzednim działało

quiris napisał(a):

przykład ten sam co poprzednio
http://wiadomosci.gazeta.pl/wiadomo...35,2626548.html

na poprzednim działało

Tu masz inną domenę! wiadomosci.gazeta.pl musisz sobie dopisać.

//edit:
var SkryptyDomenowe = {
				'gazeta.pl'		: JsNaNormal,
				'wiadomosci.gazeta.pl' : JsNaNormal,
				'tv.wp.pl'		: JsNaNormal,	
				'ranking.pl'	: JsNaNorRanking,
				'wisla.w-a.pl'	: ZamienObrazki,
				'gora.w-a.pl'	: ZamienObrazki
				}

Mayor napisał(a):

ano fakt, dopisałem i działa, dobra robota
w tej wersji jest o tyle fajnie że faktycznie łatwo dodaje się strony które mają być obsługiwane

na tej stronie widać praktyczne zastosowanie tego skryptu
http://www.wisla.w-a.pl/wisla_polonia_2005pp/
mozna od razu odklikać interesujące nas fotki i zacząć je oglądać bo w międzyczasie ładują się kolejne; poprzednio wyglądało to klik, wait, look, close, klik, wait, look, close


teraz to wygląda klik, klik, klik, klik, ..., look, look, look a pomiędzy nimi można tylko przełączać taby czy je zamykać jak kto woli

quiris napisał(a):

w tej wersji jest o tyle fajnie że faktycznie łatwo dodaje się strony które mają być obsługiwane

Uhm. Głównie pod tym kątem modyfikowałem skrypt wink