Ссылка на букмарклет в документе «Уценка» - PullRequest
14 голосов
/ 15 октября 2008

Как включить букмарклет в анализируемый документ 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();)

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

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

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

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

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

Кажется, это прекрасно работает в ОМП и вскрытии, но в редакторе Markdown.php - нет. Кто-нибудь имеет опыт работы с Markdown.php?

Ответы [ 3 ]

6 голосов
/ 31 декабря 2011
[Hello World!][1]
[1]:javascript:alert('Hello World')
6 голосов
/ 15 октября 2008

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

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

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

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

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

дает [Hello] (javascript: function my_bookmarklet () {alert ('Hello World');} my_bookmarklet ();)

0 голосов
/ 13 апреля 2018

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

Например:

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

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

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

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

...