wyszykiwanie wielokrotne z paska adresu

w dziale Dostosowywanie Opery do własnych potrzeb
maciejchwala napisał(a):

witam,

mam takie pytanko:
czy mozna tak ustawic opcje wyszuliwania by po wpisaniu tekstu w pasku adresu np "x pytanie" opera automatycznie wyszukiwala "pytanie" w wiecej niz 1 wyszukiwarce, tzn otwierala >1 zakladke z wynikami wyszukiwania?
inaczej mowiac czy w szybki sposob mozna czegos-tam wayszukac za pomoca wiecej niz jednej wyszukiwarki?

z gory dzieki,

pozdrawiam,
Maciek

Zaufany napisał(a):

Chyba się nie da. Zawsze jednak są multiwyszukiwarki.

TeWu napisał(a):

Zawsze można napisać sobie skrypt w JS który otwiera nowe karty z wynikami wyszukiwania w różnych przeglądarkach i potem przypisać do niego skrót wyszukiwarki ("x cośtam").
Ja mimo, że parę razy używałem JS to jednak zawsze pisałem patrząc do manuala, i nie potrawie pisać skryptów w tym języku na tyle dobrze by coś takiego ci napisać.
Mam jednak wrażanie, że dla kogoś kto umie to 5 min roboty by było smile

daroc napisał(a):

Pomysł wydaje się nie być głupi. wink
A jakie wyszukiwarki by Cię interesowały?

Ryszard napisał(a):

Originally posted by daroc:

Pomysł wydaje się nie być głupi


Pomysł jest niegłupi ale i niełatwy wink bo kodowanie.

Plik testowej multiwyszukiwarki jest na www.opera1.ovh.org/ryszukiwarka.php ale - nie ma tam "okienka" do wpisania wyszukiwarki. Kto chce testować niech sobie doda wyszukiwarkę
Name=Ryszukiwarka
Verbtext=0
URL=http://www.opera1.ovh.org/ryszukiwarka.php?q=%s
Query=
Key=r
Is post=0
Has endseparator=0
Encoding=iso-8859-2
Search Type=0
Position=-1
Nameid=0
Deleted=0

Szuka w 4 wyszukiwarkach. Do prawidłowego dzialania wymaga wyłączenia blokownia wyskakujących okienek.
Kto chce zobaczyć jak to działa - sam "silnik"
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"'."\n"; 
echo '"http://www.w3.org/TR/REC-html40/loose.dtd">'."\n";
echo '<head><meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">'."\n";
$q=$_GET['q'];
echo '<meta http-equiv="refresh" content="0; url=http://szukaj.wp.pl/szukaj.html?szukaj='.rawurlencode($q).'&Submit=Szukaj&z=p">';
echo '<title>ryszukiwarka</title></head><script type="text/javascript"></script></body></html>';

daroc napisał(a):

Chodzi o to, że w niektórych wyszukiwarkach jest inne kodowanie polskich znaków i polskie literki będą się kaszanić?
Tych standardowych kodowań jest raptem parę. Można by sprawdzić, jakie są potrzebne i wykonać jakąś konwersję znaków na inne charsety przy pomocy tablicy znaków. Chyba że nie w tym problem?

Ryszard napisał(a):

Originally posted by daroc:

Chodzi o to, że w niektórych wyszukiwarkach jest inne kodowanie polskich znaków i polskie literki będą się kaszanić?


W tym właśnie był problem - był bo chyba znalazłem rozwiązanie. Przynajmniej dla tego zestawu wyszukiwarek , który użyłem w moim teście.

daroc napisał(a):

Czyli udało Ci się rozwiązać problem z polskimi znakami?
Bo właśnie chciałem sobie zrobić taki skrypt, który będzie otwierał od razu np. 5 słowników języka angielskiego. W dwóch z nich występuje problem z polskimi znakami.

Ryszard napisał(a):

JavaScriptu jak widać w mojej wyszukiwarce niewiele.
Wyszukiwarkę w Operze mam ustawioną na iso-8859-2 i tak samo jest w ustawieniach strony "wyszukującej".
Strona ładowana przez "meta http-equiv="refresh" content="0; url=http://szu........." dostaje zapytanie z PLznakami dokładnie w takiej postaci, jak wysyła Opera (żółć jako %BF%F3%B3%E6) - za przekazanie zapytania w niezmienionej wersji odpowiada funkcja PHP rawurlencode(). Pozostałe wyszukiwarki otwierane są przez Javascript - window.open. Ale one (te wyszukiwarki) działają na utf-8. I czy aby nie dlatego toto działa OK.
W JavaScript taka funkcja to chyba escape() - to znaczy szukając sposobu na zamianę PLznaków na ciągi %HEXHEX znalazłem najpierw coś o nazwie escape() a potem odpowiednik w PHP. Ale jak zadziała escape() nie wiem.

daroc napisał(a):

A te znaczki %BF itp są uniwersalne? Używam javascriptu i robię po prostu

phrase=(location.search.substr(1));
open('http://www.dict.pl/plen?word='+phrase+'&lang=PL', '', '');

i pasku adresu pojawiają się zakodowane znaki (ze znakiem procentu).
Zamianą zakodowanych polskich znaków z paska adresu zajmuje się zdaje się samo PHP.
Stosowanie escape nie ma sensu. Znaki %BF zostaną zamienione na %25BF. Już raczej unescape, czyli powrót do właściwego znaku, ale przecież i to nie przyniesie nam żadnych korzyści.