javascript in adresszeile
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
aktuelle url
anfrage
angeben
code
dank
datei
eigentlichen funktionen
erreichen
form
header
http
info
laden
lesezeichen
post
quelle
tun
type
url
verhindern
-
hi,
ich möchte ein lesezeichen erstellen, in dem javascript ausgeführt wird, ungefähr so, wie http://www.printwhatyoulike.com/bookmarklet, nur dass alles da drin steht, und nicht eine datei nachgeladen wird.
meine frage nun: wie muss das geschriebsel um die eigentlichen funktionen lauten?
Grüße und Dank
Matthias -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
matthias-detsch schrieb:
Was steht wo? Und bei deinem Beispiel wird auf den ersten Blick auch nicht eine Datei nachgeladen, nur das Javascript aufgerufen.
nur dass alles da drin steht, und nicht eine datei nachgeladen wird
matthias-detsch schrieb:
Du erstellst ein Lesezeichen mit
wie muss das geschriebsel um die eigentlichen funktionen lauten?
und dann alles, was du ausführen willst.javascript:
Beitrag zuletzt geändert: 22.6.2014 20:23:47 von c143 -
c143 schrieb:
matthias-detsch schrieb:
Was steht wo? Und bei deinem Beispiel wird auch nicht eine Datei nachgeladen, nur das Javascript aufgerufen.
nur dass alles da drin steht, und nicht eine datei nachgeladen wird
doch da wird was nachgeladen.
da wird ein script-container erzeugt und eine src festgelegt.
aber danke
bisher hatte das von google net funktioniert
thx -
1) Das Script ist viel zu lang für die Browserzeile
2) Was hat denn nu Google damit zu tun?
3) Was genau möchtest Du denn erreichen?
Ein paar mehr Infos wären denn schon toll.
-
menschle schrieb:
1) Das Script ist viel zu lang für die Browserzeile
2) Was hat denn nu Google damit zu tun?
3) Was genau möchtest Du denn erreichen?
Ein paar mehr Infos wären denn schon toll.
das wird nicht so lang.
1)ich möchte nur die aktuelle url per ajax an eine datenbank schicken.
2)google suche
3)für die seminarfacharbeit muss man auch quellen angeben(ist ja logisch) und deswegen habe ich mir gedacht, das wird so wie in 1) beschrieben einfacher.
gruß
matthias
==EDIT==
javascript:url=location.href; member="matthias"; rq= new XMLHttpRequest(); rq.open("post","http://fvhgym-seminarfacharbeit.tk/index.php",true); rq.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); rq.onreadystatechange=success_alert; rq.send('url='+url+"&member="+member); function success_alert(){ if(rq.readyState ==4&&rq.status==200){ response=rq.responseText; alert(response); } }
das ist das was in das Lesezeichen rein soll, allerdings wird die anfrage von chrome und firefox gebloxkt, wisst ich wie man das verhindern kann?
Beitrag zuletzt geändert: 23.6.2014 14:43:25 von matthias-detsch -
matthias-detsch schrieb:
Nice Idea
1)ich möchte nur die aktuelle url per ajax an eine datenbank schicken.
3)für die seminarfacharbeit muss man auch quellen angeben(ist ja logisch) und deswegen habe ich mir gedacht, das wird so wie in 1) beschrieben einfacher.
das ist das was in das Lesezeichen rein soll, allerdings wird die anfrage von chrome und firefox gebloxkt, wisst ich wie man das verhindern kann?[...]
Jepp.
Die Anfrage in einem neuen Fensterchen/Tab starten, und z.B. einfach als <img> aufrufen:
<img src="http://fvhgym-seminarfacharbeit.tk/index.php?url= ...">
Soetwas ähnliches hatte ich mir mal gebastelt, um schneller URLs in Foren zu verlinken: :P
> Bookmarklets < Der erste Link [BB-link] bindet eine "Fremdgrafik" ein. ;)
<edit> Getestet mit FF, Chrome, IE </edit>
Die Zeile ab
müsstest Du auf Deine Wünsche anpassen, um per get die URL zu übergeben, oder eben das img-Tag verwenden. ;)with(window.open().document){
So ein vollständiges Script gibts übrigens dort:
Simple Bookmarking App With PHP, JS & MySQL | Tutorialzine
Und hier eine sehr schöne Seite mit vielen kleinen Helferlein:
Jesse's Bookmarklets Site
Oder eben auch einfach mal die Tante quälen
bookmarklet send url to database - Google-Suche
Viel Spaß ;)
Beitrag zuletzt geändert: 23.6.2014 18:40:27 von menschle -
danke für deine (hilfreichen) Ratschläge, menschle,
aber ich habe mich entschieden, das so wie die von printwhatyoulike zu machen, undnur eine datei vom server laden, den rest macht die datei.
denn diesesLesezeichen ist nicht nur für mich, sondern auch für meine teamkamerden uas der Semi-Gruppe, und ständig ein fenster zu schließen, könnte nervig sein...
-
Kannst ja body.onload.window.close() verwenden. ;)
Aber fein, wenns jetzt klappt. :) -
es ist vollbracht
Lesezeichen-code:
javascript:(function(){window._pwyl_home='http://fvhgym-seminarfacharbeit.tk/';window._pwyl_pro_id=null;window._pwyl_bmkl=document.createElement('script');window._pwyl_bmkl.setAttribute('type','text/javascript');window._pwyl_bmkl.setAttribute('src',window._pwyl_home+'send.php?member=matthias');window._pwyl_bmkl.setAttribute('pwyl','true');document.getElementsByTagName('head')[0].appendChild(window._pwyl_bmkl);})();
--muss allerdings darauf achten, dass die src mit https beginnt, da sonst z.b. chrome das nicht laden möchte--
js code (send.php):
<?php $member = $_GET["member"]; echo("member = '".$member."'\n");?> url = location.href; alert(url); rq = new XMLHttpRequest(); rq.open("post", "http://fvhgym-seminarfacharbeit.tk/", true); rq.withCredentials = "true"; rq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); rq.onreadystatechange = send_success; rq.send('url='+url+'&member='+member); function send_success(){ if(rq.readyState == 4 && rq.status == 200){ var response = rq.responseText; alert(response); } }
und php header:
if (isset($_SERVER['HTTP_ORIGIN'])) { header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}"); header('Access-Control-Allow-Credentials: true'); header('Access-Control-Max-Age: 86400'); // cache for 1 day } // Access-Control headers are received during OPTIONS requests if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') { if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD'])) header("Access-Control-Allow-Methods: GET, POST, OPTIONS"); if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS'])) header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}"); exit(0); }
jedenfalls funktioniert es jetzt *freu*
==EDIT==
getestet in Chrome 30.0.1599.101 und Firefox 29.0.1
Beitrag zuletzt geändert: 26.6.2014 14:35:33 von matthias-detsch -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage