جسم غريب فوق الشمس .. العلماء يكشفون أسرار حدثت في الساعات الماضية .. هل لها علاقة بما حدث في الإسكندرية؟ .. لنهاية العالم!
31 مايو, 2025 11:57 م
operate replaceOembeds() {
var allEmbeds = doc.getElementsByTagName(“OEMBED”);
whereas (allEmbeds.size != 0) {
replaceOembedWithHtml(allEmbeds(0), extractLinkFromOembed(allEmbeds(0)));
allEmbeds = doc.getElementsByTagName(“OEMBED”);
}
runYoutubeLazyLoad();
}
operate replaceOembedWithHtml(component, sourceData) {
if (sourceData.provide.toLowerCase() === “youtube”) {
var html=”
‘;
replaceElementWithHtml(component, html);
} else if (sourceData.provide.toLowerCase() === “instagram”) {
var html=”
‘;
replaceElementWithHtml(component, html);
} else if (sourceData.provide.toLowerCase() === “twitter”) {
var html=”
‘;
replaceElementWithHtml(component, html);
} else if (sourceData.provide.toLowerCase() === “fb”) {
loadfbApi();
var html=”
‘
replaceElementWithHtml(component, html);
} else {
replaceElementWithHtml(component, “”);
}
}
operate extractLinkFromOembed(component) {
return getUrlSource(component.getAttribute(“url”));
}
operate getUrlSource(url) {
var ytRegex = /http(?:s?)://(?:www.)?youtu(?:be.com/mark?v=|.be/)((w-_)*)(&(amp;)?(w?=)*)?/;
var instaRegex = /(https?://www.)?instagram.com(/p/(w+)/?)/;
var twitterRegex = /twitter.com/.*/website(?:es)?/((^/?)+)/;
var fbRegex = /^https?://www.fb.com.*/(video(s)?|mark|legend|posts)(.php?|/).+$/;
if (ytRegex.test(url)) {
return {
provide: “Youtube”,
url: url,
id: ytRegex.exec(url)(1)
};
}
if (instaRegex.test(url)) {
return {
provide: “Instagram”,
url: url,
id: instaRegex.exec(url)(3)
};
}
if (twitterRegex.test(url)) {
return {
provide: “Twitter”,
url: url,
id: twitterRegex.exec(url)(1)
};
}
if (fbRegex.test(url)) {
return {
provide: “Fb”,
url: url,
id: fbRegex.exec(url)(1)
};
}
return {
provide: “Unknown”,
url: url,
id: “”
};
}
operate replaceElementWithHtml(component, html) {
var str = html;
var Obj = component; //any component to be totally changed
if (Obj.outerHTML) { //if outerHTML is supported
Obj.outerHTML = str; ///it’s some distance simple replace of total component with contents of str var
} else { //if outerHTML is no longer supported, there’s a uncommon but crossbrowsered trick
var tmpObj = doc.createElement(“div”);
tmpObj.innerHTML = ‘‘;
ObjParent = Obj.parentNode; //Okey, component ought to soundless be parented
ObjParent.replaceChild(tmpObj, Obj); //here we placing our transient records as a replace of our target, so we can salvage it then and replace it into whatever we are looking out to interchange to
ObjParent.innerHTML = ObjParent.innerHTML.replace(‘
‘, str);
}
}
operate loadfbApi() {
var js = doc.createElement(‘script’);
js.src=”
doc.body.appendChild(js);
}
operate runYoutubeLazyLoad() {
/// youtube lazyload
var youtube = doc.querySelectorAll(“.youtube”);
for (var i = 0; i < youtube.size; i++) { var provide = "https://img.youtube.com/vi/" + youtube(i).dataset.embed + "http://192.168.2.55/0.jpg"; var image = unique Portray(); image.src = "https://www.christian-dogma.com/themes/ch/sources/photography/no.jpg"; image.classList.add('lazyload'); image.setAttribute("records-src", provide); image.setAttribute("alt", "youtube"); image.addEventListener("load", operate () { youtube(i).appendChild(image); }(i)); youtube(i).addEventListener("click on", operate () { var iframe = doc.createElement("iframe"); iframe.setAttribute("frameborder", "0"); iframe.setAttribute("allowfullscreen", ""); iframe.setAttribute("src", "https://www.youtube.com/embed/" + this.dataset .embed + "?rel=0&showinfo=0&autoplay=1"); this.innerHTML = ""; this.appendChild(iframe); }); }; }
Provide link