Select Your Language and Start Reading the Article

أخبار العالمالطقس

63 قتيلا في فيضانات مدمرة بإسبانيا وعمليات الإنقاذ مستمرة

تعرضت إسبانيا لكارثة طبيعية غير مسبوقة بسبب الفيضانات العنيفة التي اجتاحت أجزاء واسعة من البلاد حيث بلغت الحصيلة الأولية للضحايا 63 قتيلا حتى الآن مع استمرار عمليات الإنقاذ في ظل تصاعد المخاوف من ارتفاع عدد الضحايا. في مناطق مثل فالنسيا وشواطئ ملقة والتي تلقت النصيب الأكبر من الدمار.

وأظهرت الصور ومقاطع الفيديو المنشورة من قبل وكالات الأنباء العالمية مثل فرانس برس وأسوشيتد برس مشاهد صادمة لفيضانات هائلة تجرف الطرق والسيارات وتغمر المنازل مما تسبب في عزل السكان وإيقاف الوصول إلى البنية التحتية الأساسية. وفي مناطق مثل أوريهويلا وغانديا حولت المياه الغزيرة الشوارع إلى أنهار جارفة مما أدى إلى تعطل وسائل النقل وانقطاع الكهرباء عن أجزاء واسعة من المدن.

وفي إطار دعم جهود الإنقاذ قامت السلطات الإسبانية بنشر وحدة الطوارئ العسكرية مع استخدام المروحيات لإنقاذ الأشخاص المحاصرين في المناطق المتضررة. وانتشرت صور لسكان محاصرين على أسطح منازلهم في انتظار وصول فرق الإنقاذ ما يعكس حجم المأساة.

وقد أعلنت الحكومة الإسبانية حدادا وطنيا تضامنا مع الضحايا فيما وقف البرلمان دقيقة صمت تكريما لأرواحهم. وحذرت وكالة الأرصاد الجوية الإسبانية من استمرار هطول الأمطار الغزيرة والرياح العاتية حتى نهاية الأسبوع مما يثير مخاوف من حدوث المزيد من الفيضانات والخسائر.

فيضانات فالنسيا: 63 قتيلاً - صور ووثائق فيديو صادمة

فيضانات فالنسيا: 63 قتيلاً - صور ووثائق فيديو صادمة

فيضانات فالنسيا: 63 قتيلاً - صور ووثائق فيديو صادمة

فيضانات فالنسيا: 63 قتيلاً - صور ووثائق فيديو صادمة

فيضانات فالنسيا: 63 قتيلاً - صور ووثائق فيديو صادمة

فيضانات فالنسيا: 63 قتيلاً - صور ووثائق فيديو صادمة

[fvplayer id=”122″]

/** * @file adblock_en.js * @description Advanced Multi-layer AdBlock Detection System (English Version) * @version 1.0.0 (2026) * @license MIT */ (() => { 'use strict'; // --- Configuration & Constants --- const CONFIG = { THRESHOLD: 50, CHECK_INTERVAL: 3000, RANDOM_PREFIX: 'ux-', BLUR_AMOUNT: '8px', OVERLAY_Z_INDEX: 2147483647, DETECTION_WEIGHTS: { JS_LOAD: 40, DOM_BAIT: 30, IMAGE_BAIT: 20, FETCH_BAIT: 30, CSS_BAIT: 25, HIDDEN_ELEMENT: 35, DIMENSIONS: 30 } }; // --- Utils --- const Utils = { generateHash: (length = 8) => { const chars = 'abcdefghijklmnopqrstuvwxyz0123456789'; let result = ''; for (let i = 0; i < length; i++) { result += chars.charAt(Math.floor(Math.random() * chars.length)); } return CONFIG.RANDOM_PREFIX + result; }, createElement: (tag, props = {}, styles = {}) => { const el = document.createElement(tag); Object.assign(el, props); Object.assign(el.style, styles); return el; }, injectStyle: (css) => { const style = document.createElement('style'); style.textContent = css; document.head.appendChild(style); return style; }, debounce: (fn, delay) => { let timeout; return (...args) => { clearTimeout(timeout); timeout = setTimeout(() => fn(...args), delay); }; } }; // --- State Management --- const State = { isDetected: false, score: 0, dynamicNames: { overlay: Utils.generateHash(), container: Utils.generateHash(), content: Utils.generateHash(), button: Utils.generateHash(), blurClass: Utils.generateHash() }, elements: { overlay: null, styleTag: null } }; // --- Detection Engine --- const Detection = { async runAll() { let currentScore = 0; const tests = [ this.testJsLoad(), this.testDomBait(), this.testImageBait(), this.testFetchBait(), this.testCssBait(), this.testHiddenElement(), this.testDimensions() ]; const results = await Promise.all(tests); results.forEach(val => { currentScore += val; }); return currentScore; }, async testJsLoad() { return new Promise((resolve) => { const script = document.createElement('script'); script.src = 'https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js'; script.onload = () => { script.remove(); resolve(0); }; script.onerror = () => { script.remove(); resolve(CONFIG.DETECTION_WEIGHTS.JS_LOAD); }; setTimeout(() => { if (script.parentNode) script.remove(); resolve(CONFIG.DETECTION_WEIGHTS.JS_LOAD); }, 2000); (document.head || document.documentElement).appendChild(script); }); }, async testDomBait() { const bait = Utils.createElement('div', { className: 'pub_300x250 pub_300x250m pub_728x90 text-ad textAd ads_box', id: 'ad-banner-top' }, { width: '1px', height: '1px', position: 'absolute', left: '-1000px', top: '-1000px' }); document.body.appendChild(bait); return new Promise((resolve) => { requestAnimationFrame(() => { const isBlocked = window.getComputedStyle(bait).getPropertyValue('display') === 'none' || bait.offsetParent === null || bait.offsetHeight === 0; bait.remove(); resolve(isBlocked ? CONFIG.DETECTION_WEIGHTS.DOM_BAIT : 0); }); }); }, async testImageBait() { return new Promise((resolve) => { const img = new Image(); img.src = '/ads/banner_300x250.png?q=' + Math.random(); img.onload = () => resolve(0); img.onerror = () => resolve(CONFIG.DETECTION_WEIGHTS.IMAGE_BAIT); setTimeout(() => resolve(CONFIG.DETECTION_WEIGHTS.IMAGE_BAIT), 1500); }); }, async testFetchBait() { try { await fetch('https://googleads.g.doubleclick.net/pagead/id', { method: 'HEAD', mode: 'no-cors', cache: 'no-store' }); return 0; } catch (e) { return CONFIG.DETECTION_WEIGHTS.FETCH_BAIT; } }, async testCssBait() { const bait = Utils.createElement('div', { className: 'ad-unit' }); document.body.appendChild(bait); const isBlocked = window.getComputedStyle(bait).display === 'none'; bait.remove(); return isBlocked ? CONFIG.DETECTION_WEIGHTS.CSS_BAIT : 0; }, async testHiddenElement() { const bait = Utils.createElement('div', { id: 'show-ads' }); document.body.appendChild(bait); const isBlocked = window.getComputedStyle(bait).visibility === 'hidden'; bait.remove(); return isBlocked ? CONFIG.DETECTION_WEIGHTS.HIDDEN_ELEMENT : 0; }, async testDimensions() { const bait = Utils.createElement('div', { className: 'adsense-bait' }, { width: '100px', height: '100px' }); document.body.appendChild(bait); const isBlocked = bait.clientHeight === 0; bait.remove(); return isBlocked ? CONFIG.DETECTION_WEIGHTS.DIMENSIONS : 0; } }; // --- Overlay & UI --- const UI = { injectStyles() { const css = ` .${State.dynamicNames.overlay} { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.7); z-index: ${CONFIG.OVERLAY_Z_INDEX}; display: flex; align-items: center; justify-content: center; backdrop-filter: blur(5px); transition: opacity 0.3s ease; pointer-events: all; } .${State.dynamicNames.container} { background: #fff; padding: 40px; border-radius: 16px; max-width: 450px; width: 90%; text-align: center; box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); font-family: system-ui, -apple-system, sans-serif; } .${State.dynamicNames.content} h2 { color: #1f2937; margin-bottom: 12px; font-size: 24px; } .${State.dynamicNames.content} p { color: #4b5563; margin-bottom: 24px; line-height: 1.6; } .${State.dynamicNames.button} { background: #2563eb; color: #fff; border: none; padding: 12px 24px; border-radius: 8px; font-weight: 600; cursor: pointer; transition: background 0.2s; width: 100%; } .${State.dynamicNames.button}:hover { background: #1d4ed8; } .${State.dynamicNames.blurClass} { filter: blur(${CONFIG.BLUR_AMOUNT}); pointer-events: none; user-select: none; overflow: hidden; } body.is-locked { overflow: hidden !important; } `; State.elements.styleTag = Utils.injectStyle(css); }, show() { if (State.elements.overlay) return; const overlay = Utils.createElement('div', { className: State.dynamicNames.overlay }); const container = Utils.createElement('div', { className: State.dynamicNames.container }); container.innerHTML = `
🛡️

AdBlock Detected

It looks like you are using an ad blocker. Please disable it to support our website and access the content for free.

`; overlay.appendChild(container); document.body.appendChild(overlay); State.elements.overlay = overlay; const children = Array.from(document.body.children).filter(el => el !== overlay && el.tagName !== 'SCRIPT' && el.tagName !== 'STYLE'); children.forEach(child => child.classList.add(State.dynamicNames.blurClass)); document.body.classList.add('is-locked'); container.querySelector(`.${State.dynamicNames.button}`).onclick = () => { Controller.checkNow(); }; }, hide() { if (!State.elements.overlay) return; State.elements.overlay.remove(); State.elements.overlay = null; const children = Array.from(document.body.children); children.forEach(child => child.classList.remove(State.dynamicNames.blurClass)); document.body.classList.remove('is-locked'); } }; // --- Controller --- const Controller = { async checkNow() { const score = await Detection.runAll(); State.score = score; const detected = score >= CONFIG.THRESHOLD; if (detected !== State.isDetected) { State.isDetected = detected; if (detected) { UI.show(); } else { UI.hide(); } } }, startMonitoring() { setInterval(() => { this.checkNow(); }, CONFIG.CHECK_INTERVAL); const observer = new MutationObserver(Utils.debounce(() => { this.checkNow(); }, 500)); observer.observe(document.body, { childList: true, subtree: true }); } }; // --- Initialization --- const init = () => { if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', () => init()); return; } UI.injectStyles(); setTimeout(() => { Controller.checkNow(); Controller.startMonitoring(); }, 500 + Math.random() * 500); }; init(); })();