2008-10-14 13 views
13

Wie kann ich ein Bookmarklet in ein Markdown-geparstes Dokument einfügen? Gibt es einen "Tag" für Abschriften, der im Grunde sagt "parse das nicht" ??Bookmarklet-Link im Markdown-Dokument

Zum Beispiel könnten Sie so etwas wie haben:

<a href="javascript:function my_bookmarklet() 
       {alert('Hello World');} 
       my_bookmarklet();">Hello</a> 

Aber wenn ich aus, dass bis über die Javascript versuchen in einen Link in Abschlags wie folgt aus:

[Hello World!](javascript:function my_bookmarklet(){alert('Hello World');}my_bookmarklet();) 

Sie erhalten eine verkorkste Link , Wie unten.

[Hallo Welt!] (Javascript: function my_bookmarklet() {alert ('Hallo Welt');} my_bookmarklet();)

Gibt es das überhaupt um?

Nein, ich versuche nicht, bösartige Bookmarklets in SO einzubauen, aber ich möchte Markdown für meine Site verwenden und möchte einige Bookmarklets posten, die ich geschrieben habe.

Edit: Ich dachte, ich hätte die Antwort ... aber jetzt scheint es, dass ich es nicht ganz habe.

Das scheint in WMD und Showdown gut zu funktionieren, aber im Editor Markdown.php tut es das nicht. Wer hat speziell Erfahrung mit Markdown.php?

Antwort

4

Markdown wird jede HTML allein lassen, so dass Sie nur

<a href="javascript:function my_bookmarklet() 
       {alert('Hello World');} 
       my_bookmarklet();">Hello</a> 

und Hallo bekommen eingeben.Edit: funktioniert nicht mehr auf SO, was eine gute Sache

ist Sie kann auch Sonderzeichen mit einem Backslash (in diesem Fall ist es zu sehen, die „)“ s in Ihrem Javascript als Ende der URL) und der Link-Syntax funktioniert:

[Hello](javascript:function my_bookmarklet(\){alert('Hello World'\);}my_bookmarklet(\);) 

gibt [Hallo] (javascript: function my_bookmarklet() {alert ('Hallo Welt');} my_bookmarklet();)

+0

Dies tut scheint nicht zu funktionieren für mich, zumindest im SO Chat. – nyuszika7h

+2

Das Standardverhalten von Markdown besteht darin, Inline-HTML allein zu lassen, damit die Beispiele funktionieren, wenn Sie Markdown auf Ihrer eigenen Website verwenden. Jede Site, auf der von Benutzern eingereichte Inhalte angezeigt werden, sollte jedoch den HTML-Code einschränken, der es ermöglicht, gegen XSS zu schützen. Es ist nur ein kleiner Schritt von diesem 'Alert ('Hallo Welt')' Beispiel, um die SO-Konten anderer Leute zu entführen. Rückblickend bin ich überrascht, dass diese Beispiele ursprünglich in meiner Antwort funktionierten. Sie sollten wirklich nicht haben und nicht mehr. – stevemegson

5
[Hello World!][1] 
[1]:javascript:alert('Hello World')