webForumDet fria alternativet

Favlet till min hemsida

JavaScript

14 svar · 941 visningar · startad av Helmertz

Medlem sedan maj 2005353 inlägg
Frågan#1

Hej!
Jag undrar hur man gör en favlet. Funktionen jag vill att den ska ha är att skapa en popupruta och efter man fyllt i rutan och tryckt "ok" så ska man länkas vidare till en sida på min domän med en querystring som slutar på ?url=* där * är adressen man skrivit in. Hur gör man? :)

Medlem sedan juni 20004 308 inlägg
#2

Exempel:

<a href="http://www.dindomän.se/sida.asp" onclick="url=prompt('Ange url','http://'); if(url){ location.href=this.href+'?url='+url } return false;">länk</a>
Medlem sedan apr. 20031 660 inlägg
#3

HEJ!

Favlet, aldrig hört!
Vad är det?

Och inte blev man mycket klokare på den sidan, MIL med skräp i gästboken!

Medlem sedan sep. 2005114 inlägg
#4

J.N.

"Favlets are small snippets of JavaScript embedded in a Bookmark URL that extend the capabilities of your web browser."

Det är, t.ex. som att ta en länk:
<a href="javascript:alert(location.href)" />

och bokmärka den.. varje gång du klickar på bokmärket får du upp adressen till sidan i ett alert fönster. Rätt smidigt för vissa saker.

Medlem sedan aug. 20039 340 inlägg
#5

Funktionen som du eftersöker kan du få genom att lägga till ett bokmärke med denna URL:

javascript:(function(){q=prompt("Vad vill du söka efter?", ""); if (q) {window.open("http://www.google.se/search?q=" + q,"_top")} })();
Medlem sedan juli 20041 183 inlägg
#6

Funkar det verkligen att bokmärka sådana?

Kan man t.ex. fixa så att datumet i en adress ändras i ett bokmärket ändras så att aktuellt datum alltid syns??

ex när datumet är 19:e septembe och man trycker på bokmärket så skickas man hit:
https://www.url.se?date=2005-09-19

Medlem sedan aug. 20039 340 inlägg
#7

Ja, t ex så här:

javascript:(function(){d=new Date(); window.open("http://blablabla.se?d=" + [d.getYear(),d.getMonth(),d.getDay()].join("-") ,"_top")})();
Medlem sedan maj 2005353 inlägg
#8

Inlägget som du, nitro, skrev 19:39 fungerar perfekt, men nu har jag fått mersmak ;)

Skulle det gå att kombinera med ett regexp? Om man kontrollerar värdet man får som q för att sedan lägga till http:// före om inte länken börjar med http://, https:// eller ftp:// (finns det fler möjligheter?)

Red: Ytterligare en önskan:
När jag dragit upp koden direkt i bokmärkesfältet (i Firefox) så heter det javascript:(function()..., kan man ändra namnet på det i scriptet eller måste man döpa om bokmärket manuellt?

Medlem sedan aug. 20039 340 inlägg
#9

Denna kollar efter protokollen http, https, ftp, mail och file. Sedan lägger den till http:// eller mailto: beroende på om det du har skrivit in innehåller ett @.

javascript:(function(){q=prompt("Jag glufsar adresser!", ""); if (q) { if(/^(https?|ftp|mail|file)\:\/{0,2}.+/.test(q)){ window.open(q, "_top")} else{if(/.+?@.+?/.test(q)) window.open("mailto:" + q, "_top"); else window.open("http://" + q, "_top") } } })();

Det går med största sannolikhet inte, eftersom det inte finns någon title-tag i sidan som länken pekar på (Eftersom den inte pekar på en sida :) )

Medlem sedan maj 2005353 inlägg
#10

Perfekt, tack så mycket!

Medlem sedan apr. 20031 660 inlägg
#11

HEJ!

Dapper: Tack för svaret, men du hade gärna fått reda ut vad "... smidigt för vissa saker" är. ;)

Du satte dock fart på övriga inlägg, och nu förstår jag vad det är, har tom använt det!

På Google fanns det för ca ett år sedan en favlet (troligtvis!) som man lade in i länkraden. När man sedan markerade ett ord på en sida, och klickade på bokmärket, söktes ordet upp på Google.

En liknande sak fanns på NE.se, men där fick man fylla i texten själv i en alert.
Det kan ha varit tvärtom, vet att jag tog bort Alert-rutan för en av de två, och använde den anpassade för den andra också. Bättre utan alert, bara markera och söka direkt! Kommer dock inte ihåg vilken som jag anpassade.

Sedan min dator ominstallerades, och jag inte fick med mig alla de senaste bokmärkena, har jag blivit av med dessa två, och jag kan inte hitta dem igen!
Vet någon var funktionen finns att hämta, letade förgäves på Google, men puts väck! x(

Inlägget från nitro2k01, http://www.webforum.nu/showthread.php?p=1090334#post1090334 är en bit på vägen, men inte hela. Utan alert, bara klicka och söksvar!

Medlem sedan aug. 20039 340 inlägg
#12

Hej J.N.!
Här är lite kod som gör det du frågar efter.

javascript:(function(){var q; if (document.selection.type == "Text" && (q=document.selection.createRange().text).length){window.open("http://www.google.se/search?q=" + q,"_top") }else{alert("Vänligen markera text!")} })();

Och jag har en starkmkänsla av att detta inte är den sista favlet jag kommer göra för denna tråd... :D

Medlem sedan apr. 20031 660 inlägg
#13

HEJ!

Suveränt!

Kompletterar med NE-länk för översättning, det var den som jag mest saknade!

javascript:(function(){var q; if (document.selection.type == "Text" && (q=document.selection.createRange().text).length){window.open("http://ne.se/jsp/esse/web_translate.jsp?t_word=" + q,"_top") }else{alert("Vänligen markera text!")} })();

OBS #1:
Man måste vara abonnent för att den ska fungera!
OBS #2:
ope n är delat i inlägget ovan från nitro2k01. Sätt ihop det, så fungerar det.
Det blir det tydligen automatiskt!

Tilläggsfråga:
Om man klickar på bokmärket utan text kommer Alert upp.
Kan man ta bort det OCH få den att gå till webben istället, dvs man slipper ha ett NE-översättningsbokmärke, och ett bokmärke för NE.se, utan denna funktion?

Medlem sedan dec. 20025 483 inlägg
#14

En Moz-kompatibel sökfunktion:

java&#115;cript:(function(){var s=document.selection&&document.selection.createRange?document.selection.createRange().text:window.getSelection?window.getSelection().toString():null;if(s){location.href='http://google.com/search?q='+s}})()
Medlem sedan juli 20041 183 inlägg
#15

hur gör man så att det blir korrekt datum av denna? Alltså om det ska stå 2005-09-07 så blir det i nuvarande 2005-9-7. Den saknar nollorna. Blir inte riktigt klok på hur man gör??

javascript:(function(){d=new Date(); window.open("http://schema.hj.se/visa.asp?from=" + [d.getFullYear(),(d.getMonth()+1),d.getDate()].join("-") + "&tom=&prog=Dk2+++&kurs=&lokal=&larare=&visap=Nej&bolag=ING" ,"_top")})();
273 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)