Link de Bookmarklet no Documento de Marydown
-
03-07-2019 - |
Pergunta
Como posso incluir um Bookmarklet em um documento analisado de Marydown? Existe alguma "tag" para o Markdown que basicamente diz "Não analise isso" ??
Por exemplo, você pode ter algo como:
<a href="javascript:function my_bookmarklet()
{alert('Hello World');}
my_bookmarklet();">Hello</a>
Mas se eu tentar passar pelo JavaScript disso em um link em Markdown como este:
[Hello World!](javascript:function my_bookmarklet(){alert('Hello World');}my_bookmarklet();)
Você obtém um link bagunçado, como abaixo.
Hello World!] (JavaScript: function my_bookmarklet () {alert ('hello world');} my_bookmarklet (););)
Existe alguma maneira de contornar isso?
E não, não estou tentando colocar marcadores maliciosos em So ou qualquer coisa, mas quero usar o Markdown para o meu site e gostaria de postar alguns marcadores que escrevi.
EDIT: Eu pensei que tinha a resposta ... mas agora parece que não tenho.
Isso parece funcionar muito bem em armas de destruição em massa e confronto, mas no editor do Markdown.php, não. Alguém tem experiência com markdown.php especificamente?
Solução
Markdown deixará qualquer HTML em paz, então você pode simplesmente entrar
<a href="javascript:function my_bookmarklet()
{alert('Hello World');}
my_bookmarklet();">Hello</a>
e pegue olá. Editar: não funciona mais em então, o que é uma coisa boa
Você também pode escapar de personagens especiais com uma barra de barra (neste caso, está vendo os ")" s em seu JavaScript como o fim do URL) e a sintaxe do link funcionará:
[Hello](javascript:function my_bookmarklet(\){alert('Hello World'\);}my_bookmarklet(\);)
GOSS [Hello] (JavaScript: function my_bookmarklet () {alert ('hello world');} my_bookmarklet (););)
Outras dicas
[Hello World!][1]
[1]:javascript:alert('Hello World')
Sei que essa é uma pergunta muito antiga, mas (caso alguém mais encontre seu caminho aqui, como eu), se você incorporar seu script, ele funcionará.
Por exemplo:
[Hello World](javascript:%28function%28%29%7Balert%28%22Hello%20World%22%29%7D%29%28%29%3B)
E, claro, como mencionado acima, ele não funciona aqui, assim.
NOTA: Alguns codificadores de URL substituirão o espaço ("") por um "+", que funciona bem para URLs regulares, mas não o código JS, os espaços devem ser substituídos por "%20"
EDITAR: Isso não parece ser universalmente verdadeiro. Suponho que o analisador específico de Marydown faz a chamada final aqui. Mas isso funciona para mim em mais lugares onde é usado o Markdown.