Запрос адреса при вставке видеоролика

Вставлять видеоролики в специальные теги не очень удобно для многих пользователей. Чтобы сделать запрос ссылки нужно выполнить совсем немного действий.

Для этого мы добавляем в файл panel.js обработчик на JavaScript:
function voidPutVideo(context)
{
	if(url=prompt('Введите ссылку на видео','http://'))
	{
		var m=document.getElementById(context);
		if(m){
			m.focus();
			if((clientVer >= 4) && is_ie && is_win)
			{
				sel = document.selection.createRange();
				sel.text = '<video>'+url+'</video> ' + sel.text;
			}
			else {
				mozWrap(m, '<video>' + url,'</video>');
			}
			m.focus();
		}
	}
}


А в шаблонах делаем замену с

onclick="voidPutTag2('topic_text','video'); return false;"


на

onclick="voidPutVideo('topic_text'); return false;"


Теперь при нажатии кнопки вставки видео пользователь увидит окно для запроса ссылки (как при вставке ссылки), а после нажатия OK в месте позиции курсора появится заполненный тег video.

10 комментариев

avatar

+ Вам. Стало удобнее и меньше вопросов от пользователей.

Плюс написал примеры ссылок:

if(url=prompt('Введите ссылку на видео\n\n Примеры ссылок:\n  YouTube.com: www.youtube.com/watch?v=JteYX6KQH-g \n  Vimeo.com: vimeo.com/2202884 \n  RuTube.ru: rutube.ru/tracks/47353.html?v=191fabfebda9fe3aea51e3dceb8854f3 \n  Video.Yandex.ru: [flash=450,370,http://flv.video.yandex.ru/lite/strog/v5rs5c5zv2.101] \n',''))

В FireFox'e все отброжается.
IE же кушает примеры.
Как управлять размерами выпадающего запроса?
avatar
FireFox:


IE:
avatar
Увы, но в этом случае никак. Эти диалоги являются системными и их совершенно нельзя кастомизировать хоть как-то. Можно только сделать собственный вариант диалога, как при загрузке изображения.
avatar
А можно поподробнее про вставку обработчика в panel.js? Куда его там вставить нужно конкретно?! Спасибо. :-)
avatar
Подсказали бы лучше, а не минусовали(
avatar


function voidPutVideo(context){        if(url=prompt('Введите ссылку на видео','http://'))        {                var m=document.getElementById(context);                if(m){                        m.focus();                        if((clientVer >= 4) && is_ie && is_win)                        {                                sel = document.selection.createRange();                                sel.text = '<video>'+url+'</video> ' + sel.text;                        }                        else {                                mozWrap(m, '<video>' + url,'</video>');                        }                        m.focus();                }        }};

var lsPanel;





works with this one find var lsPanel; and befor add the code from my example
avatar
Спасибо, работает))
avatar
Народ, подскажите плиз, где хоть эти шаблоны то? Понять не могу
avatar
Не работает вставка, js выдает ошибку clientVer is not defined. В чём проблема?
avatar
Я так понимаю в версии ЛС необходимо в шаблоне, т.е. в файле templates\skin\new\actions\ActionTopic\add.tpl заменить эту строку:
<a href="#" onclick="lsPanel.putTagAround('topic_text','video'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/video.gif" width="20" height="20" title="{$aLang.panel_video}"></a>


а вот на что заменить я не понял…

Заранее благодарен
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.