2014-02-07 3 views
6

Я хочу, чтобы добавить произвольный текст в качестве ссылки hrefs, используя wysihtml5. Например: Я хочу, чтобы создать этот <a href="[~55~]">link</a>wysihtml5 переопределить связь поведение диалога

Я работал, как это сделать - вот упрощенный пример того, что я делаю:

editor = new wysihtml5.Editor("text_area_content", {toolbar: "wysihtml5-toolbar"}) 
editor.composer.commands.exec("createLink", { href: "[~"+55+"~]" }) 

Проблема теперь у меня есть то, что после создавая ссылку, когда эта ссылка выбрана в редакторе, диалоговое окно показывает ссылку как «http: // current_url/[~ 55 ~]». Я хочу, чтобы он показывал только «[~ 55 ~]».

Я попытался связать новое событие с ссылками в редакторе, но я не мог понять, как это сделать (поскольку они находятся в iframe).

Как я могу получить диалог ссылки wysihtml5, чтобы показать адрес ссылки без отображения текущего URL-адреса?

ответ

4

В wysihtml5/src/toolbar/dialog.js вызывается метод _interpolate по ссылке, которая берет атрибуты ссылки и отображает их в диалоговом окне. Итак, все, что находится в href="...", отображается во входном элементе диалогового окна.

Пример из документации инлайн:

https://github.com/xing/wysihtml5/blob/master/src/toolbar/dialog.js

<!-- original link --> 
    <a href="http://www.google.com" target="_blank">foo</a> 

<!-- dialog: --> 
    <input type="text" data-wysihtml5-dialog-field="href" value=""> 
    <input type="text" data-wysihtml5-dialog-field="target" value=""> 

<!-- after calling _interpolate() the dialog will look like this --> 
    <input type="text" data-wysihtml5-dialog-field="href" value="http://www.google.com"> 
    <input type="text" data-wysihtml5-dialog-field="target" value="_blank"> 

Так что, если вы можете продлить метод _interpolate в приложении вы можете проверить, когда имя атрибута href, а затем просто отображать относительную часть (без имени сервера).

+0

Спасибо за ответ. Было бы очень полезно, если бы вы могли привести пример того, как сделать что-то подобное. – benjaminjosephw

+0

Спасибо, что указал мне в правильном направлении. Маленький пример того, как можно переопределить это поведение по умолчанию, по-прежнему будет высоко оценен, если вы сможете ... – benjaminjosephw

+1

Я награду за награду за полезный ответ ... еще пример привел бы к этому действительно хороший ответ. – benjaminjosephw

Смежные вопросы