Files
LOLv333/js/main.js
T

72 lines
1.7 KiB
JavaScript

let btnList = document.querySelectorAll('.eventEntry > .iconBtnStyle');
console.log("source buttons : ", btnList)
let displayWindow = document.querySelector('#posterWindow');
let displayContainer = document.querySelector('#posterContainer');
let closeBtn = document.querySelector('#posterCloseBtn');
closeBtn.addEventListener('click', () => {
displayWindow.style.visibility = 'collapse';
displayContainer.replaceChildren();
})
async function getPoster(src){
let res = await fetch(src);
if (res.ok){
let html_text = await res.text()
let html = new DOMParser().parseFromString(html_text, "text/html");
return html
} else{
console.log('error 333');
return
}
}
let eventList = [];
if( btnList.length > 0 ){
for (let btn of btnList ){
let link = btn.children[0];
link.style.pointerEvents = 'none';
console.log(link.href);
let posterPage = await getPoster(link.href);
//console.log('selected poster: ', posterPage)
let styleList = Array.from(posterPage.querySelectorAll('head > style'));
//console.log(styleList)
styleList.splice(0,1);
//console.log(styleList)
eventList.push(
{
content: posterPage,
stylesheet: styleList,
sourceBtn: btn
}
);
}
}
console.log(eventList);
if (eventList.length > 0){
for (let obj of eventList){
let btn = obj.sourceBtn;
let content = obj.content;
for (let style of obj.stylesheet){
document.head.append(style);
}
obj.sourceBtn.addEventListener( 'click', () => {
displayWindow.style.visibility = 'visible';
displayContainer.replaceChildren(obj.content.querySelector('main'));
})
}
}