Вопрос

Как включить букмарклет в анализируемый документ Markdown?Есть ли какой-нибудь «тег» для уценки, который по сути говорит «не анализировать это»??

Например, у вас может быть что-то вроде:

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

Но если я попытаюсь вставить JavaScript из этого в ссылку в уценке следующим образом:

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

Вы получаете перепутанную ссылку, как показано ниже.

[Привет, мир!](javascript:function my_bookmarklet(){alert('Hello World');}my_bookmarklet();)

Есть ли что-нибудь вокруг этого?

И нет, я не пытаюсь поместить вредоносные букмарклеты в SO или что-то в этом роде, но я хочу использовать уценку для своего сайта и хотел бы опубликовать несколько написанных мной букмарклетов.

Редактировать:Я думал, что у меня есть ответ... но теперь кажется, что у меня его нет.

Кажется, это отлично работает в WMD и Showdown, но в редакторе Markdown.php — нет.У кого-нибудь есть опыт работы с Markdown.php?

Это было полезно?

Решение

Markdown оставит любой HTML-код без изменений, поэтому вы можете просто ввести

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

и получить привет. Редактировать:Больше не работает на SO, и это хорошо.

Вы также можете экранировать специальные символы обратной косой чертой (в этом случае в вашем Javascript в конце URL-адреса будут отображаться символы «)»), и синтаксис ссылки будет работать:

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

выдает [Привет](javascript:function my_bookmarklet(){alert('Hello World');}my_bookmarklet();)

Другие советы

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

Я знаю, что это очень старый вопрос, но (на случай, если кто-то еще найдет здесь дорогу, как я), если вы закодируете свой скрипт по URL-адресу, он будет работать.

Например:

    [Hello World](javascript:%28function%28%29%7Balert%28%22Hello%20World%22%29%7D%29%28%29%3B)

И конечно, как уже говорилось выше, здесь, на SO, это не работает.

Примечание:Некоторые кодировщики URL-адресов заменяют пробел (" ") на "+", который отлично работает для обычных URL-адресов, но не для кода js, пробелы следует заменять на "%20".

РЕДАКТИРОВАТЬ:Это не кажется универсальным.Я полагаю, что последний вызов здесь делает конкретный анализатор уценки.Но у меня это работает во многих местах, где используется уценка.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top