From f08c99fd29eef487e4675d7c2f79ed1827ca8514 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=9F=E8=BF=9B?= Date: Sat, 13 Jun 2020 13:47:00 +0000 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20infowindow-view.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/geo/ui/infowindow-view.js | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/geo/ui/infowindow-view.js b/src/geo/ui/infowindow-view.js index e3937b1..9ded391 100644 --- a/src/geo/ui/infowindow-view.js +++ b/src/geo/ui/infowindow-view.js @@ -143,9 +143,9 @@ var Infowindow = View.extend({ return; } - if (!this._isValidURL(url)) { + if (!this._isValidVideoURL(url)) { this._stopCoverLoader(); - this._showInfowindowImageError(); + this._showInfowindowVideoError(); return; } @@ -155,6 +155,20 @@ var Infowindow = View.extend({ this._loadCoverFromUrl(url); } }, + + _isValidVideoURL: function (url) { + if (url) { + var urlPattern = /^(http|ftp|https):\/\/[\w-]+(\.[\w-]+)+([\w.,@?^=%&:\/~+#-|]*[\w@?^=%&\/~+#-])?$/; + return String(url).match(urlPattern) !== null; + } + + return false; + }, + + _showInfowindowVideoError: function () { + this.$('.js-infowindow').addClass('is-fail'); + this.$('.js-cover').append('

Non-valid Video URL

'); + }, // end video _initBinds: function () {