Ich habe gerade so etwas gemacht. Hier ist eine Zusammenfassung meines Prozesses.
Ich muss eine Liste von Anführungszeichen von verschiedenen Webseiten behalten und jedem Zitat einige Informationen hinzufügen.
Mein Bookmarklet wird dynamisch eine Google-Form generieren (Ich habe gesehen nur die Quelle der echten Google-Formular, das ich bereits erstellt haben), wird es die aktuelle URL automatisch füllen, der Seitentitel, und der aktuell ausgewählte Text, als, das Formular wird eingereicht werden.
Da ich manuell Informationen hinzufügen muss, ich absichtlich nicht mindestens ein Pflichtfeld enthalten, so erhalte ich das Google Formular mit einer Fehlermeldung (aber mit URL, Titel & Zitat bereits ausgefüllt). Jetzt kann ich manuell alle weiteren benötigten Informationen hinzufügen und das Formular abschicken.
Wenn das Bookmarklet alle erforderlichen Felder ausfüllt, erhalten Sie nur die Google Formular-Erfolgsantwort "Danke! Ihre Antwort wurde aufgezeichnet."
Ich habe die folgende Website verwendet ein Bookmarklet zu erzeugen, die mit jQuery: http://benalman.com/code/test/jquery-run-code-bookmarklet/ (I jQuery bin mit & Inhalt von der Webseite weiteren Informationen zu können, Schrott)
Um zu verwenden, dass vor Ort richtig, werden Sie Ihre Einzeiler html entkommen müssen (können Sie diese verwenden escape tool)
Die erforderlichen Schritte sind:
- Erstellen Sie eine Google-Form/Tabellen
- Ansicht, die Quelle der Form und kopieren Sie die Felder, die Bookmarklet möchten Ihre HTML füllen
- Flucht- und this verwenden das Skript zu schreiben, die die Informationen füllen, erstellt diese Seite die Bookmarklet für Sie
Also in meinem Fall:
1. ich ein Formular erstellt haben, die ein Textfeld die uRL zu halten, ein anderes Textfeld den Titel der Seite zu halten, ein Absatztext, um das Zitat zu halten (die Auswahl ed Text). Das Formular enthält auch einige andere Pflichtfelder, die ich manuell ausfülle.
2. ich folgende html vorbereitet:
<form method="POST"
action="https://spreadsheets.google.com/spreadsheet/formResponse?formkey=XYZXYZXYZXYZXYZXYZXYZ&ifq">
<input type="text" name="entry.0.single" value="" id="entry_0" />
<input type="text" name="entry.3.single" value="" id="entry_3" />
<textarea name="entry.2.single" id="entry_2"></textarea>
<input type="submit" name="submit" value="submit" />
</form>
(entry_0 - url, entry_3 - Seitentitel, entry_2 - Zitat)
3. Nachdem es in einer Zeile setzen und entkam es.Ich habe das folgende Skript verwendet:
frm = $(unescape('%3Cform%20action%3D%22https%3A//spreadsheets.google.com/spreadsheet/formResponse%3Fformkey%3DXYZXYZXYZXYZXYZXYZXYZ%26amp%3Bifq%22%20method%3D%22POST%22%3E%0A%3Cinput%20type%3D%22text%22%20name%3D%22entry.0.single%22%20value%3D%22%22%20id%3D%22entry_0%22%20/%3E%0A%3Cinput%20type%3D%22text%22%20name%3D%22entry.3.single%22%20value%3D%22%22%20id%3D%22entry_3%22%20/%3E%0A%3Ctextarea%20name%3D%22entry.2.single%22%20id%3D%22entry_2%22%3E%3C/textarea%3E%0A%3Cinput%20type%3D%22submit%22%20name%3D%22submit%22%20value%3D%22submit%22%20/%3E%0A%3C/form%3E'));
$(frm).children('#entry_0').attr('value',location.href);
$(frm).children('#entry_3').attr('value',$('title')[0].innerHTML);
$(frm).children('#entry_2').html(window.getSelection().toString());
$(frm).children('input[type=submit]').click()
Dieses Verfahren mit Chrom getestet wurde. Viel Glück!
Um das 405 Problem mit firefox, Verwendung Libcurl zu lösen. Sollte in der Lage sein, dies in PHP und Python zu tun. – razorsniper
Nützlicher Link: http://eureka.ykyuen.info/2014/07/30/submit-google-forms-by-curl-command/ –