B
blankito1998
Beta
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
$(document).ready(function(){Para asegurarte de que elsrcse vuelva a asignar correctamente aliframecuando este vuelve a ser visible, debes revisar el flujo de tu código y asegurarte de que no lo estás eliminando prematuramente y que lo estás configurando nuevamente.
### Cambios Propuestos:
1. Asegúrate de no eliminar elsrcdeliframea menos que sea realmente necesario.
2. Confirma que elsrcse asigna de nuevo en el bloque donde se verifica si está visible (entry.isIntersecting).
Aquí tienes el código corregido:
JavaScript:$(document).ready(function(){ const options = { root: null, threshold: 0.6 }; let loadTimeouts; let observer3 = new IntersectionObserver((entries) => { entries.forEach(entry => { const dataId = entry.target.getAttribute('dataid'); const iframe = entry.target; if(entry.isIntersecting) { var elementospom = document.querySelectorAll(".submeho"); if(elementospom.length === 0) { loadTimeouts = setInterval(() => { const iframes = document.querySelectorAll(".sessim .octumpro[data-src]"); const targetDataId = dataId; iframes.forEach(iframe => { const iframeDataId = iframe.getAttribute("dataid"); const iframeWindow = iframe.contentWindow; const video = iframeWindow.document.getElementsByClassName('vidplay')[0]; if (video && !video.paused && iframeDataId !== targetDataId) { iframe.setAttribute('src', ''); // Eliminar el src del iframe } }); }, 300); // Asigna el src solo si no tiene src o está vacío if (!iframe.src || iframe.src === "") { iframe.src = iframe.getAttribute("data-src"); iframe.onload = function() { $(".laggs[dataid='" + dataId + "']").remove(); }; } } } else { clearInterval(loadTimeouts); iframe.loadTimeout = null; // Si es necesario, quitar el src aquí solo si lo deseas // iframe.setAttribute('src', ''); // Comentado para evitar la eliminación del src } }); }, options); function observeLogamDivs2() { document.querySelectorAll('.sessim .octumpro[data-src]').forEach(elem => { if (elem instanceof Node) { observer3.observe(elem); } }); } observeLogamDivs2(); let mutationObserver3 = new MutationObserver((mutations) => { mutations.forEach(mutation => { mutation.addedNodes.forEach(node => { if (node.nodeType === 1) { const iframes = node.querySelectorAll('.sessim .octumpro[data-src]'); iframes.forEach(iframe => { if (iframe instanceof Node) { observer3.observe(iframe); } }); } }); }); }); const targetNode = document.querySelector('.moreinfo'); if (targetNode) { mutationObserver3.observe(targetNode, { childList: true, subtree: true }); } });
### Principales Cambios:
1. Eliminación delsrccomentada: He comentado la línea que elimina elsrccuando eliframeya no está visible. Asegúrate de que no estás eliminando elsrcinnecesariamente para permitir que se vuelva a asignar sin problemas.
2. Condición para la Asignación: La asignación delsrcse hace directamente en la sección donde eliframees visible y solo si elsrcestá vacío.
Con estos ajustes, asegúrate de probar si la funcionalidad deseada ahora funciona. Si el problema persiste, valdría la pena revisar si hay otras partes del código que puedan estar afectando el estado deliframe. Si hay más detalles o comportamientos que observas, por favor compártelos para poder ayudarte mejor.
const options = {
root: null,
threshold: 0.6
};
let loadTimeouts;
let observer3 = new IntersectionObserver((entries) => {
entries.forEach(entry => {
const dataId = entry.target.getAttribute('dataid');
const iframe = entry.target;
if(entry.isIntersecting){
var elementospom = document.querySelectorAll(".submeho");
if(elementospom.length === 0){
loadTimeouts = setInterval(() => {
const iframes = document.querySelectorAll(".sessim .octumpro[data-src]");
const targetDataId = dataId;
iframes.forEach(iframe => {
const iframeDataId = iframe.getAttribute("dataid");
const iframeWindow = iframe.contentWindow;
const video = iframeWindow.document.getElementsByClassName('vidplay')[0];
if (iframeDataId !== targetDataId) {
iframe.setAttribute('src', ''); // Eliminar el src del iframe
}
});
}, 300);
if(!iframe.src || iframe.src === ""){
if(!iframe.loadTimeout){
iframe.src = iframe.getAttribute("data-src");
iframe.onload = function() {
$(".laggs[dataid='" + dataId + "']").remove();
};
}
}
}
}else{
clearInterval(loadTimeouts);
iframe.loadTimeout = null;
}
});
}, options);
function observeLogamDivs2(){
document.querySelectorAll('.sessim .octumpro[data-src]').forEach(elem => {
if(elem instanceof Node){
observer3.observe(elem);
}
});
}
observeLogamDivs2();
let mutationObserver3 = new MutationObserver((mutations) => {
mutations.forEach(mutation => {
mutation.addedNodes.forEach(node => {
if(node.nodeType === 1){
const iframes = node.querySelectorAll('.sessim .octumpro[data-src]');
iframes.forEach(iframe => {
if(iframe instanceof Node){
observer3.observe(iframe);
}
});
}
});
});
});
const targetNode = document.querySelector('.moreinfo');
if(targetNode){
mutationObserver3.observe(targetNode, {
childList: true,
subtree: true
});
}
});
no vuelve asignar el src al iframe 🙁


