From c2647692df96e4705513b10b97604f4911ead9d7 Mon Sep 17 00:00:00 2001 From: staltz Date: Sat, 22 Mar 2014 23:30:44 +0200 Subject: [PATCH] RichTextProcessor can embed Youtube videos as iframe; Fix #149 --- app/css/app.css | 14 +++++++++++++- app/js/services.js | 7 +++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/app/css/app.css b/app/css/app.css index 24202659..38f3e2d0 100644 --- a/app/css/app.css +++ b/app/css/app.css @@ -1067,7 +1067,19 @@ div.im_message_video_thumb { background-image: url(../img/icons/IconsetW_1x.png); } - +.im_message_iframe_video { + position: relative; + padding-bottom: 56.25%; // 16/9 ratio + height: 0; + overflow: hidden; +} +.im_message_iframe_video iframe, object, embed { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} .im_message_document, .im_message_audio, diff --git a/app/js/services.js b/app/js/services.js index aa2b9866..80cd2372 100644 --- a/app/js/services.js +++ b/app/js/services.js @@ -2545,6 +2545,13 @@ angular.module('myApp.services', []) } // console.log(4, text, html); + var youtubeRegex = /(?:https?:\/\/)?(?:www\.)?youtu(?:|.be|be.com|.b)(?:\/v\/|\/watch\\?v=|e\/|\/watch(?:.+)v=)(.{11})(?:\&[^\s]*)?/; + if (!options.noLinks && youtubeRegex.test(text)) { + var videoID = youtubeRegex.exec(text)[1]; + text = text + '
'; + } return $sce.trustAs('html', text); }