Rychlé hledání ve Firefoxu
Školení, která pořádám
Ve Firefoxu lze k libovolnému vyhledávání snadno přiřadit klíčové slovo, po jehož zadání v příkazovém řádku následovaným hledaným slovem se daná fráze vyhledá. Stačí v kontextovém menu jakéhokoliv formulářového políčka vybrat K vyhledávání přiřadit klíčové slovo a je to. Zkratky se dají editovat i ručně ve vlastnostech záložky, místo hledaného slova se píše %s
. Já jsem si takhle např. zkratku _
namapoval na http://www.%s.cz/
. K rychlému doplnění předpon a přípon se dají použít i různé kombinace Ctrl+Shift+Enter doplňující .com
, .net
a .org
. Osobně .com
moc nepoužívám, tak jsem si to v chrome/browser.jar/content/browser/browser.js
změnil na .cz
a pro .com
používám zkratku -
.
Pro Internet Explorer existuje nástroj QuickSearch s podobnou funkcí, jenom pokud vím nedokáže odesílat formuláře metodou POST.
Pokud někdo tuší, jak rychlé hledání zprovoznit spolu s IDOSem, tak to ocením. Se starší verzí jejich aplikace se mi to podařilo, takže např. pro cestu z Luka jsem si vytvořil zkratku luka
, ale s novou verzí už se mi to nepodařilo.
Možná si říkáte, jak to všechno souvisí s PHP. Inu, pro nalezení PHP funkce jsem si vytvořil zkratku p
a spolu s klávesou F1 v editoru to často používám.
Diskuse
Hondrej:
doplneni .cz ve verzi 1.5 uz funguje (po stisku CTRL ENTER)
Jinak to rychle hledani s IDOSEM, muzes to trosku objasnit? Treba bych vedel...
Multimotyl:
Mám neblahé tušení, že IDOS nějakým způsobem (zřejmě časově omezeným kódem v hidden inputu či jak) hlídá zda je hledání odesláno přímo z jejich formuláře. Zřejmě proto abychom si prohlédli všechny ty reklamy co tam mají.
Často se připojuji přes modem a než se mi celá stránka načte, tak už mám formulář vyplněný a odesílám ho. Stává se pak, že mi to zahlásí "INVALID ENTRY POINT", asi proto, že se ten skrytý prvek ještě ani nenačetl.
Totéž se stává, pokud vyplním formulář několik hodin potom co se načte.
Je to docela velká vada na kráse IDOSu, ale myslím, že konkurenci ani žádnou nemá, takže si to můžou dovolit.
Nick:
Nemel by byt problem si udelat nekde na netu zvlast stranku a pres fsockopen poslat IDOSu vse, co potrebuje. Neco podobneho jsem potreboval pro rychle zjisteni zpozdeni vlaku (nutne nejdriv navstivit prazdny formular, aby se nastavila cookie). U slovenske verze zpozdeni vlaku se take nejdriv musi nastavit session, data poslat pres POST, pak to teprve vyhodi vysledek. U IDOSu jsem to nezkousel, ale predpokladam, ze by to pro Jakuba nemel byt problem ;-)
mila:
Nedávno jsem se to snažil rozchodit s hledáním v manuálu php (hledání fce). Nějak se mi to nepodařilo, nevíte jak na to?
Aby třeba na "php echo" mi vypadl popis funkce echo.
lukas:
funguje to pekne i bez www: php.net/echo (coz je myslim uz velice kratke)
firefox ma peknou featuru, ze kdyz text zadany do adresniho radku neni adresa, zobrazi (defaultne) prvni stranku Googlu, takze je nekdy sranda, kdyz se na me nejdriv ostatni divaji jako na lamu, co si mysli, ze kdyz zada do adresniho radku "prijmeni mff", tak mu to vyhodi osobni stranky nebo whois vypis ucitele - jenze ono to funguje.
lukas:
takze vlastne i po zadani "php echo" (bez uvozovek) to vyhodi pravdepodobne php manual k te funkci - pouze vas to ochudi o kontrolu preklepu, kterou ma vyhledavani i 404 na php.net implementovanou.
Ve formulářovém poli "search for" na http://www.php.net/ z kontextového menu (po kliknutí pravým tlačítkem) vyber "K vyhledávání přiřadit klíčové slovo a v dialogu ho zadej do políčka "Klíčové slovo".
Bohumír Bednařík:
A ještě na doplnění. Parametr pro MHD Praha je tt=e (pozor, rozlišuje se velikost písmen).
Hever:
Takže jsem prozkoušel IDOS a po všemožně komplikovaných pokusech mi *prozatím* funguje ten nejtriviálnější. Nezvedám ruce nad hlavu, přece jenom očekávám, že nějaký škaredý time/sessionstamp mě o tuto radost připraví.
Ten jednoduchý postup byl vyplnit v klasickém formuláři místo odjezdu, odmazat datum a čas a v políčku pro odjezd pravým klikáním přiřadit klíčové slovo.
To mi také zezačátku fungovalo, ale po čase přestalo. Navíc názvy některých stanic kolidují, takže bych chtěl pracovat už s vybranou stanicí. A to přestane fungovat v momentě, kdy stanice přečíslují (což už se mi taky stalo).
Hever:
Je tam jeden atribut, který se jednou denně mění - to je ten důvod, proč to přestane fungovat.
Kolidace názvů se bude špatně řešit, ikdyby se někdo vyhecoval k řešení tohoto problému nějakou obezličkou (jak bych na to šel, to vím .. kde na to vzít čas, to nevím).
Tak já jsem se tedy napřel:
<?php
if (empty($_GET["from"]) || empty($_GET["to"])) {
?>
<form action="">
Odkud: <input name="from" />
Kam: <input name="to" />
<input type="submit" value="Vyhledat" />
</form>
<?php
} else {
$root = "http://www.dpp.cz/IDOS/";
$file = file_get_contents("$root?f=" . urlencode(stripslashes($_GET["from"])) . "&t=" . urlencode(stripslashes($_GET["to"])));
if (preg_match('~<form[^>]*>(.*)</form>~isU', $file, $matches)) {
$content = implode("&", form_fields($matches[1], "cmdSearch"));
$context = stream_context_create(array('http' => array('method' => 'POST', 'content' => $content)));
echo preg_replace('~<head[^>]*>~i', "\\0\n<base href='$root'>", file_get_contents($root . "connform.aspx", false, $context));
}
}
?>
Funkce form_fields viz http://php.vrana.cz/automaticke-odesilani-formularu.php.
Hever:
Hezké definitivní řešení. Funkce form_fields toho umí pro tento problém zbytečně hodně. Ale ono je asi lepší dělat obecně fungující funkce, které se budou dát využít i jinde.
Btw. ještě to mělo za účel jednu milou věc .. nainstaloval jsem PHP5 (současně běžící se 4kou na IIS) a poznal jsem pěknou funkci file_get_contents.
bs:
Warning: file_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration
Takže ještě potřeba dát pozor na nastavení tohoto :-), ale jinak super řešení..
milancb:
Ahoj vsem, mam takovy problem a vubec netusim jak na to... jedna se mi o to, jak u jakehokoliv ciziho formulare na WEBU naplnit automaticky jejich pole s tim, ze udaje (data) bych chtel nacitat z nejakeho meho souboru, po naplneni poli provest Enter/Submit a po zvolenem case napr. x sekund opakovane naplnit dalsimi daty, toto opakovat a opakovat.... Napada neco nekoho... predem dik. M.
Diskuse je zrušena z důvodu spamu.