var pageNicoNicoHacked = false
function loadYouTube(url) {
/*
*/
var iframe = document.createElement('iframe')
iframe.frameBorder = 0
iframe.allowFullScreen = true
iframe.allow = "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
iframe.width = 560
iframe.height = 315
iframe.src = url
//iframe.target='_parent'
return iframe
}
function unloadYouTube(parent) {
var iframeElem = parent.querySelector('iframe')
if (iframeElem) {
parent.removeChild(iframeElem)
}
}
// so we want to single a single container element
// so we can make clean up more automated and easier
// and we can embed all elements in a single too
// like to get rid of parent but we do lose some flexibility
function loadNicoNico(parent, url) {
var videoid = url.replace('http://www.nicovideo.jp/watch/', '')
if (location.protocol === 'https:') {
// gonna have to ajax load the SOB and hack up the URLs in the script
postscribe(parent, '')
return false
}
}
// 17k if you have a single niconico embed...
// maybe can move to onhover later
if (!pageNicoNicoHacked && elems.length) {
var hackScript=document.createElement('script')
hackScript.type='text/javascript'
hackScript.src='https://cdnjs.cloudflare.com/ajax/libs/postscribe/2.0.6/postscribe.min.js'
if (elem.parentNode) {
elem.parentNode.parentNode.appendChild(hackScript)
pageNicoNicoHacked=true
}
}
var list = ['tiktok', 'bitchute']
// key, thumbs, thumb relay, title...
// library needed...
var dataMap = {
tiktok: {
inserter: loadTikTok
},
bitchute: {
inserter: loadBitchute
}
}
for(var i in list) {
var type = list[i]
var typeInfo = dataMap[type]
// console.log('type', type, 'typeInfo', typeInfo)
var inserter = typeInfo.inserter
var elems = document.querySelectorAll('.' + type + '_wrapper a')
for(var j in elems) {
var elem = elems[j]
// capture scope
function scopeMe(inserter) {
elem.onclick=function() {
if (this.innerText=='Embed') {
this.elem = inserter(this.parentNode, this.href)
//parent.appendChild(this.elem)
this.innerText='Unembed'
} else {
//unloadTiktok(parent)
parent.removeChild(this.elem)
this.innerText = 'Embed'
}
return false
}
}
scopeMe(inserter)
}
}
}
document.addEventListener("DOMContentLoaded", function(event) {
//console.log('embed detects page is loaded')
updateEmbedElements()
})