Add TikTok plugin
This commit is contained in:
parent
65439a8ad2
commit
fc9360beea
@ -553,8 +553,48 @@ plugins.factory('userPlugins', function() {
|
||||
}
|
||||
});
|
||||
|
||||
/*
|
||||
* TikTok embedded player
|
||||
* Very similar to twitter
|
||||
*/
|
||||
var tikTokPlugin = new UrlPlugin('TikTok', function(url) {
|
||||
var regex = /^https?:\/\/(www\.)?tiktok\.com\/(.+)/i,
|
||||
match = url.match(regex);
|
||||
|
||||
if (match){
|
||||
|
||||
return function() {
|
||||
|
||||
var element = this.getElement();
|
||||
|
||||
GetEmbedContent( "https://www.tiktok.com/oembed?url=" + url, element);
|
||||
|
||||
function GetEmbedContent(embedurl, element)
|
||||
{
|
||||
fetch(embedurl)
|
||||
.then(function(response) {
|
||||
return response.json();
|
||||
})
|
||||
.then(function(data) {
|
||||
// separate the HTML into content and script tag
|
||||
var scriptIndex = data.html.indexOf("<script ");
|
||||
var content = data.html.substr(0, scriptIndex);
|
||||
|
||||
element.innerHTML = content;
|
||||
|
||||
// The script tag needs to be generated manually or the browser won't load it
|
||||
var scriptElem = document.createElement('script');
|
||||
// Hardcoding the URL here, I don't suppose it's going to change anytime soon
|
||||
scriptElem.src = "https://www.tiktok.com/embed.js";
|
||||
element.appendChild(scriptElem);
|
||||
});
|
||||
}
|
||||
};
|
||||
}
|
||||
});
|
||||
|
||||
return {
|
||||
plugins: [youtubePlugin, dailymotionPlugin, allocinePlugin, imagePlugin, videoPlugin, audioPlugin, spotifyPlugin, cloudmusicPlugin, googlemapPlugin, asciinemaPlugin, yrPlugin, gistPlugin, pastebinPlugin, giphyPlugin, tweetPlugin, streamablePlugin]
|
||||
plugins: [youtubePlugin, dailymotionPlugin, allocinePlugin, imagePlugin, videoPlugin, audioPlugin, spotifyPlugin, cloudmusicPlugin, googlemapPlugin, asciinemaPlugin, yrPlugin, gistPlugin, pastebinPlugin, giphyPlugin, tweetPlugin, streamablePlugin, tikTokPlugin]
|
||||
};
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user