زيادة المررتبات 2025 تبدأ رسميًا من يوليو – اعرف قيمة مرتبك الجديد حسب درجتككitude
عاجل .. مها الصير تنتفض ضد أحمد السقا .. وتحرر محضرا .. السب يجعل المتابعين في حالة تعجب !!
25 يونيو, 2025 10:31 م
feature replaceOembeds() {
var allEmbeds = doc.getElementsByTagName(“OEMBED”);
while (allEmbeds.length != 0) {
replaceOembedWithHtml(allEmbeds(0), extractLinkFromOembed(allEmbeds(0)));
allEmbeds = doc.getElementsByTagName(“OEMBED”);
}
runYoutubeLazyLoad();
}
feature 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, “”);
}
}
feature extractLinkFromOembed(component) {
return getUrlSource(component.getAttribute(“url”));
}
feature getUrlSource(url) {
var ytRegex = /http(?:s?)://(?:www.)?youtu(?:be.com/gape?v=|.be/)((w-_)*)(&(amp;)?(w?=)*)?/;
var instaRegex = /(https?://www.)?instagram.com(/p/(w+)/?)/;
var twitterRegex = /twitter.com/.*/predicament(?:es)?/((^/?)+)/;
var fbRegex = /^https?://www.fb.com.*/(video(s)?|gape|story|posts)(.php?|/).+$/;
if (ytRegex.take a look at(url)) {
return {
provide: “Youtube”,
url: url,
identity: ytRegex.exec(url)(1)
};
}
if (instaRegex.take a look at(url)) {
return {
provide: “Instagram”,
url: url,
identity: instaRegex.exec(url)(3)
};
}
if (twitterRegex.take a look at(url)) {
return {
provide: “Twitter”,
url: url,
identity: twitterRegex.exec(url)(1)
};
}
if (fbRegex.take a look at(url)) {
return {
provide: “Facebook”,
url: url,
identity: fbRegex.exec(url)(1)
};
}
return {
provide: “Unknown”,
url: url,
identity: “”
};
}
feature replaceElementWithHtml(component, html) {
var str = html;
var Obj = component; //any component to be fully changed
if (Obj.outerHTML) { //if outerHTML is supported
Obj.outerHTML = str; ///or no longer it is straightforward replacement of whole component with contents of str var
} else { //if outerHTML isn’t any longer supported, there might be a queer but crossbrowsered trick
var tmpObj = doc.createElement(“div”);
tmpObj.innerHTML = ‘‘;
ObjParent = Obj.parentNode; //Okey, component desires to be parented
ObjParent.replaceChild(tmpObj, Obj); //here we inserting our transient recordsdata as an different of our target, so we can salvage it then and replace it into whatever we desire to replace to
ObjParent.innerHTML = ObjParent.innerHTML.replace(‘
‘, str);
}
}
feature loadfbApi() {
var js = doc.createElement(‘script’);
js.src=”
doc.physique.appendChild(js);
}
feature runYoutubeLazyLoad() {
/// youtube lazyload
var youtube = doc.querySelectorAll(“.youtube”);
for (var i = 0; i < youtube.length; i++) { var provide = "https://img.youtube.com/vi/" + youtube(i).dataset.embed + "http://192.168.2.55/0.jpg"; var image = new Notify(); image.src = "https://www.christian-dogma.com/issues/ch/resources/photography/no.jpg"; image.classList.add('lazyload'); image.setAttribute("recordsdata-src", provide); image.setAttribute("alt", "youtube"); image.addEventListener("load", feature () { youtube(i).appendChild(image); }(i)); youtube(i).addEventListener("click on", feature () { 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); }); }; }
Supply link