דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. התראה על יציאה ממ"ד & שיפור אתר פיקוד העורף

התראה על יציאה ממ"ד & שיפור אתר פיקוד העורף

מתוזמן נעוץ נעול הועבר תכנות
33 פוסטים 16 כותבים 3.8k צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • צדיק תמיםצ מנותק
    צדיק תמיםצ מנותק
    צדיק תמים
    השיב לששא נערך לאחרונה על ידי צדיק תמים
    #7

    @ששא @צדיק-תמים כתב בהתראה על יציאה ממ"ד & שיפור אתר פיקוד העורף:

    אפשר גם לעשות scraping על הטלגרם שלהם, https://t.me/s/PikudHaOref_all?embed=1

    מבחינתך זה סתם אתר אינטרנט
    דוגמת קוד שכתבתי פעם ורצה עד היום:

    const $ = cheerio.load(html);
    return $('div.tgme_widget_message[data-post]').map((i, messageElem) => {
      const postId = $(messageElem).attr('data-post');
      const textContainer = $(messageElem).find('.tgme_widget_message_text.js-message_text');
      textContainer.find('br').replaceWith('\n');
      const messageText = textContainer.text().trim();
      const datetimeAttr = $(messageElem).find('.tgme_widget_message_date time').attr('datetime') || '';
      const formattedDate = datetimeAttr
        ? new Date(datetimeAttr).toLocaleString('he-IL', {
            month: 'long',
            day: 'numeric',
            hour: '2-digit',
            minute: '2-digit'
          })
        : '';
    });
    
    ש תגובה 1 תגובה אחרונה
    0
    • מדמ מנותק
      מדמ מנותק
      מד
      השיב לששא נערך לאחרונה על ידי
      #8

      @ששא כתב בהתראה על יציאה ממ"ד & שיפור אתר פיקוד העורף:

      אין משהו עם גישה לחול?

      אני בחו"ל, ואמת נכון הדבר, אין גישה. רק כשאני מתחבר לשרת ישראל כמבואר כאן.

      תגובה 1 תגובה אחרונה
      0
      • ש מנותק
        ש מנותק
        ששא
        השיב לצדיק תמים נערך לאחרונה על ידי ששא
        #9

        @צדיק-תמים כתב בהתראה על יציאה ממ"ד & שיפור אתר פיקוד העורף:

        @ששא @צדיק-תמים כתב בהתראה על יציאה ממ"ד & שיפור אתר פיקוד העורף:

        אפשר גם לעשות scraping על הטלגרם שלהם, https://t.me/s/PikudHaOref_all?embed=1

        מבחינתך זה סתם אתר אינטרנט
        דוגמת קוד שכתבתי פעם ורצה עד היום:

        const $ = cheerio.load(html);
        return $('div.tgme_widget_message[data-post]').map((i, messageElem) => {
          const postId = $(messageElem).attr('data-post');
          const textContainer = $(messageElem).find('.tgme_widget_message_text.js-message_text');
          textContainer.find('br').replaceWith('\n');
          const messageText = textContainer.text().trim();
          const datetimeAttr = $(messageElem).find('.tgme_widget_message_date time').attr('datetime') || '';
          const formattedDate = datetimeAttr
            ? new Date(datetimeAttr).toLocaleString('he-IL', {
                month: 'long',
                day: 'numeric',
                hour: '2-digit',
                minute: '2-digit'
              })
            : '';
        });
        

        זה לוקח מצבע אדום או שזה לוקח סתם דבר אחר?

        צדיק תמיםצ תגובה 1 תגובה אחרונה
        0
        • צדיק תמיםצ מנותק
          צדיק תמיםצ מנותק
          צדיק תמים
          השיב לששא נערך לאחרונה על ידי צדיק תמים
          #10

          @ששא זה דוגמה לפרסור הודעות מהתצוגת ווב של ערוץ טלגרם
          הבאתי קישור לעיל לתצוגת ווב של הערוץ הרשמי של פיקוד העורף

          תגובה 1 תגובה אחרונה
          0
          • אבי 203א מנותק
            אבי 203א מנותק
            אבי 203
            כתב נערך לאחרונה על ידי
            #11

            נשאר רק לחבר?

            <!DOCTYPE html>
            <html lang="he" dir="rtl">
            <head>
                <meta charset="UTF-8">
                <meta name="viewport" content="width=device-width, initial-scale=1.0">
                <title>מערכת התראות חכמה - פיקוד העורף</title>
                <style>
                    * {
                        margin: 0;
                        padding: 0;
                        box-sizing: border-box;
                    }
            
                    body {
                        font-family: 'Segoe UI', Arial, sans-serif;
                        background: #f4f7fa;
                        color: #333;
                        min-height: 100vh;
                        padding: 20px;
                    }
            
                    .container {
                        max-width: 1200px;
                        margin: 0 auto;
                        background: #fff;
                        border-radius: 12px;
                        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
                        overflow: hidden;
                    }
            
                    .header {
                        background: #cc0000;
                        color: white;
                        padding: 20px;
                        text-align: center;
                    }
            
                    .header h1 {
                        font-size: 2em;
                        margin-bottom: 8px;
                    }
            
                    .header p {
                        font-size: 1.1em;
                        opacity: 0.9;
                    }
            
                    .main-content {
                        padding: 20px;
                    }
            
                    .city-selector {
                        background: #f8f9fa;
                        border-radius: 10px;
                        padding: 20px;
                        margin-bottom: 20px;
                        text-align: center;
                        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
                    }
            
                    .city-selector h2 {
                        margin-bottom: 15px;
                        color: #2c3e50;
                        font-size: 1.5em;
                    }
            
                    .city-input {
                        width: 100%;
                        max-width: 300px;
                        padding: 12px;
                        font-size: 1em;
                        border: 2px solid #ddd;
                        border-radius: 8px;
                        text-align: center;
                        transition: border-color 0.3s ease;
                    }
            
                    .city-input:focus {
                        outline: none;
                        border-color: #4CAF50;
                    }
            
                    .audio-controls {
                        display: flex;
                        align-items: center;
                        gap: 10px;
                        margin: 15px 0;
                        justify-content: center;
                    }
            
                    .audio-controls label {
                        font-size: 1em;
                        color: #2c3e50;
                    }
            
                    .audio-controls input[type="range"] {
                        width: 100px;
                    }
            
                    .audio-controls button {
                        background: #4CAF50;
                        color: white;
                        border: none;
                        padding: 8px 16px;
                        border-radius: 8px;
                        cursor: pointer;
                        transition: background 0.3s ease;
                    }
            
                    .audio-controls button:hover {
                        background: #45a049;
                    }
            
                    .status-section {
                        display: grid;
                        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
                        gap: 15px;
                        margin-bottom: 20px;
                    }
            
                    .status-card {
                        background: white;
                        border-radius: 10px;
                        padding: 20px;
                        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
                        border-left: 4px solid #ddd;
                        transition: transform 0.3s ease;
                    }
            
                    .status-card.safe {
                        border-left-color: #4CAF50;
                    }
            
                    .status-card.warning {
                        border-left-color: #ff9800;
                        animation: pulse 2s infinite;
                    }
            
                    .status-card.danger {
                        border-left-color: #f44336;
                        animation: pulse 1s infinite;
                    }
            
                    @keyframes pulse {
                        0% { box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08); }
                        50% { box-shadow: 0 6px 15px rgba(244, 67, 54, 0.3); }
                        100% { box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08); }
                    }
            
                    .status-title {
                        font-size: 1.2em;
                        font-weight: bold;
                        margin-bottom: 8px;
                        display: flex;
                        align-items: center;
                        gap: 8px;
                    }
            
                    .status-icon {
                        font-size: 1.3em;
                    }
            
                    .status-time {
                        color: #666;
                        font-size: 0.9em;
                        margin-bottom: 8px;
                    }
            
                    .status-description {
                        color: #555;
                        line-height: 1.4;
                    }
            
                    .history-section {
                        background: white;
                        border-radius: 10px;
                        padding: 20px;
                        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
                    }
            
                    .history-header {
                        display: flex;
                        justify-content: space-between;
                        align-items: center;
                        margin-bottom: 15px;
                        padding-bottom: 10px;
                        border-bottom: 2px solid #eee;
                    }
            
                    .history-item {
                        padding: 12px;
                        border-right: 3px solid #ddd;
                        margin-bottom: 10px;
                        background: #f9f9f9;
                        border-radius: 8px;
                        transition: transform 0.3s ease;
                    }
            
                    .history-item:hover {
                        transform: translateX(-3px);
                    }
            
                    .history-item.early-warning {
                        border-right-color: #ff9800;
                    }
            
                    .history-item.shelter {
                        border-right-color: #f44336;
                    }
            
                    .history-item.all-clear {
                        border-right-color: #4CAF50;
                    }
            
                    .history-time {
                        font-weight: bold;
                        color: #2c3e50;
                        margin-bottom: 5px;
                    }
            
                    .history-type {
                        font-size: 0.9em;
                        color: #666;
                        margin-bottom: 5px;
                    }
            
                    .history-description {
                        color: #555;
                    }
            
                    .refresh-btn {
                        background: #2196F3;
                        color: white;
                        border: none;
                        padding: 8px 16px;
                        border-radius: 8px;
                        cursor: pointer;
                        transition: background 0.3s ease;
                    }
            
                    .refresh-btn:hover {
                        background: #1976D2;
                    }
            
                    .no-city {
                        text-align: center;
                        color: #666;
                        font-style: italic;
                        padding: 15px;
                    }
            
                    .connection-status {
                        position: fixed;
                        top: 15px;
                        left: 15px;
                        background: #4CAF50;
                        color: white;
                        padding: 6px 12px;
                        border-radius: 15px;
                        font-size: 0.9em;
                        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
                        z-index: 1000;
                    }
            
                    .connection-status.disconnected {
                        background: #f44336;
                    }
            
                    @media (max-width: 768px) {
                        .main-content {
                            padding: 15px;
                        }
                        .header h1 {
                            font-size: 1.5em;
                        }
                        .status-section {
                            grid-template-columns: 1fr;
                        }
                    }
                </style>
            </head>
            <body>
                <div class="connection-status" id="connectionStatus">🔗 מחובר לשרת</div>
            
                <div class="container">
                    <div class="header">
                        <h1>🚨 מערכת התראות חכמה</h1>
                        <p>מעקב אחר התראות פיקוד העורף בזמן אמת</p>
                    </div>
            
                    <div class="main-content">
                        <div class="city-selector">
                            <h2>בחר את העיר שלך</h2>
                            <select id="cityInput" class="city-input">
                                <option value="">בחר עיר</option>
                                <option value="בני ברק">בני ברק</option>
                                <option value="תל אביב">תל אביב</option>
                                <option value="ירושלים">ירושלים</option>
                                <option value="חיפה">חיפה</option>
                                <option value="אשדוד">אשדוד</option>
                                <option value="אשקלון">אשקלון</option>
                                <option value="באר שבע">באר שבע</option>
                                <option value="נתניה">נתניה</option>
                                <option value="חולון">חולון</option>
                                <option value="רמת גן">רמת גן</option>
                            </select>
                            <div class="audio-controls">
                                <label for="volume">עוצמת קול:</label>
                                <input type="range" id="volume" min="0" max="1" step="0.1" value="0.5">
                                <button id="mute">השתק</button>
                            </div>
                        </div>
            
                        <div id="alertSystem" style="display: none;">
                            <div class="status-section">
                                <div class="status-card safe" id="currentStatus">
                                    <div class="status-title">
                                        <span class="status-icon">✅</span>
                                        מצב רגיל
                                    </div>
                                    <div class="status-time" id="statusTime">עדכון אחרון: עכשיו</div>
                                    <div class="status-description">אין התראות פעילות באזור שלך</div>
                                </div>
            
                                <div class="status-card">
                                    <div class="status-title">
                                        <span class="status-icon">📍</span>
                                        עיר רשומה
                                    </div>
                                    <div class="status-description" id="registeredCity">לא נבחרה עיר</div>
                                </div>
            
                                <div class="status-card">
                                    <div class="status-title">
                                        <span class="status-icon">⏱️</span>
                                        זמן לממ"ד
                                    </div>
                                    <div class="status-description" id="shelterTime">מידע יופיע בעת התראה</div>
                                </div>
                            </div>
            
                            <div class="history-section">
                                <div class="history-header">
                                    <h2>🕘 היסטוריית התראות</h2>
                                    <button class="refresh-btn" onclick="refreshHistory()">רענן</button>
                                </div>
                                <div id="alertHistory">
                                    <div class="no-city">בחר עיר להצגת היסטוריה</div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            
                <!-- Audio Elements -->
                <audio id="pre-alert-sound" src="https://cdn.pixabay.com/download/audio/2022/03/10/audio_8d9b4e6f3c.mp3"></audio>
                <audio id="enter-sound" src="https://cdn.pixabay.com/download/audio/2022/03/10/audio_7b1a4e3f2c.mp3"></audio>
                <audio id="exit-sound" src="https://cdn.pixabay.com/download/audio/2022/03/10/audio_3f2a1e6b9c.mp3"></audio>
            
                <script>
                    let currentCity = '';
                    let isConnected = true;
                    let lastAlertId = null;
                    let alertHistory = [];
                    let isMuted = localStorage.getItem('isMuted') === 'true';
                    const volumeControl = document.getElementById('volume');
                    const muteButton = document.getElementById('mute');
                    const preAlertSound = document.getElementById('pre-alert-sound');
                    const enterSound = document.getElementById('enter-sound');
                    const exitSound = document.getElementById('exit-sound');
            
                    // City data with shelter times
                    const cityData = {
                        'בני ברק': { zone: 'דן', shelterTime: 90 },
                        'תל אביב': { zone: 'דן', shelterTime: 90 },
                        'ירושלים': { zone: 'ירושלים', shelterTime: 90 },
                        'חיפה': { zone: 'חיפה והכרמל', shelterTime: 60 },
                        'אשדוד': { zone: 'אשקלון והסביבה', shelterTime: 30 },
                        'אשקלון': { zone: 'אשקלון והסביבה', shelterTime: 30 },
                        'באר שבע': { zone: 'באר שבע והנגב', shelterTime: 60 },
                        'נתניה': { zone: 'שרון', shelterTime: 45 },
                        'חולון': { zone: 'דן', shelterTime: 90 },
                        'רמת גן': { zone: 'דן', shelterTime: 90 }
                    };
            
                    // Initialize audio settings
                    const savedVolume = localStorage.getItem('volume') || 0.5;
                    preAlertSound.volume = savedVolume;
                    enterSound.volume = savedVolume;
                    exitSound.volume = savedVolume;
                    volumeControl.value = savedVolume;
                    muteButton.textContent = isMuted ? 'בטל השתקה' : 'השתק';
                    if (isMuted) {
                        preAlertSound.muted = true;
                        enterSound.muted = true;
                        exitSound.muted = true;
                    }
            
                    // Volume control
                    volumeControl.addEventListener('input', (e) => {
                        const volume = e.target.value;
                        preAlertSound.volume = volume;
                        enterSound.volume = volume;
                        exitSound.volume = volume;
                        localStorage.setItem('volume', volume);
                    });
            
                    // Mute toggle
                    muteButton.addEventListener('click', () => {
                        isMuted = !isMuted;
                        preAlertSound.muted = isMuted;
                        enterSound.muted = isMuted;
                        exitSound.muted = isMuted;
                        muteButton.textContent = isMuted ? 'בטל השתקה' : 'השתק';
                        localStorage.setItem('isMuted', isMuted);
                    });
            
                    function registerCity() {
                        const cityInput = document.getElementById('cityInput');
                        const city = cityInput.value;
                        if (!city) {
                            showNotification('אנא בחר עיר', 'danger');
                            return;
                        }
                        currentCity = city;
                        document.getElementById('registeredCity').textContent = city;
                        document.getElementById('alertSystem').style.display = 'block';
                        fetchHistory(city);
                        fetchRealTimeAlerts();
                        showNotification(`נרשמת בהצלחה להתראות עבור ${city}`, 'success');
                    }
            
                    function categorizeAlert(alert) {
                        const message = (alert.message || '').toLowerCase();
                        if (message.includes('התראה מוקדמת') || message.includes('הכן מרחב מוגן')) {
                            return { type: 'early-warning', title: 'התראה מוקדמת', icon: '⚠️', description: 'זוהה שיגור לכיוון האזור - היו מוכנים', class: 'warning' };
                        } else if (message.includes('כניסה למרחב מוגן') || message.includes('אזעקה')) {
                            return { type: 'shelter', title: 'היכנסו לממ"ד מיידית!', icon: '🚨', description: 'אזעקה באזור - היכנסו לחדר המוגן עכשיו!', class: 'danger' };
                        } else if (message.includes('שחרור') || message.includes('חזרה לשגרה')) {
                            return { type: 'all-clear', title: 'יציאה מהממ"ד', icon: '🟢', description: 'הסכנה חלפה - ניתן לצאת מהחדר המוגן', class: 'safe' };
                        }
                        return { type: 'safe', title: 'מצב רגיל', icon: '✅', description: 'אין התראות פעילות באזור שלך', class: 'safe' };
                    }
            
                    async function fetchRealTimeAlerts() {
                        try {
                            const response = await fetch('https://www.oref.org.il/WarningMessages/alerts.json');
                            const data = await response.json();
                            const statusCard = document.getElementById('currentStatus');
                            const statusIcon = statusCard.querySelector('.status-icon');
                            const statusTitle = statusCard.querySelector('.status-title');
                            const statusDescription = statusCard.querySelector('.status-description');
                            const statusTime = document.getElementById('statusTime');
                            const shelterTimeElement = document.getElementById('shelterTime');
            
                            if (data.data && currentCity && data.data.some(alert => alert.cities.includes(currentCity))) {
                                const relevantAlert = data.data.find(alert => alert.cities.includes(currentCity));
                                if (relevantAlert.id !== lastAlertId) {
                                    lastAlertId = relevantAlert.id;
                                    const alert = categorizeAlert(relevantAlert);
                                    updateAlertStatus(alert);
                                    addToHistory(alert);
                                    if (!isMuted) {
                                        if (alert.type === 'early-warning') {
                                            preAlertSound.play().catch(e => console.error('Error playing pre-alert sound:', e));
                                        } else if (alert.type === 'shelter') {
                                            enterSound.play().catch(e => console.error('Error playing enter sound:', e));
                                        } else if (alert.type === 'all-clear') {
                                            exitSound.play().catch(e => console.error('Error playing exit sound:', e));
                                        }
                                    }
                                    showNotification(`${alert.icon} ${alert.title} ב${currentCity}`, alert.class);
                                    document.title = alert.type === 'shelter' ? `🚨 אזעקה - ${currentCity}` : 'מערכת התראות חכמה';
                                }
                            } else {
                                const safeStatus = { type: 'safe', title: 'מצב רגיל', icon: '✅', description: 'אין התראות פעילות באזור שלך', class: 'safe' };
                                updateAlertStatus(safeStatus);
                            }
                            updateConnectionStatus(true);
                        } catch (error) {
                            console.error('Error fetching real-time alerts:', error);
                            updateConnectionStatus(false);
                        }
                        updateStatusTime();
                    }
            
                    async function fetchHistory(city) {
                        try {
                            const response = await fetch(`https://alerts-history.oref.org.il//Shared/Ajax/GetAlarmsHistory.aspx?lang=he&mode=1&city_0=${encodeURIComponent(city)}`);
                            const data = await response.json();
                            alertHistory = data.map(alert => {
                                const categorized = categorizeAlert(alert);
                                return {
                                    time: alert.time,
                                    type: categorized.type,
                                    title: categorized.title,
                                    description: categorized.description,
                                    city: currentCity
                                };
                            }).slice(0, 20);
                            renderHistory();
                        } catch (error) {
                            console.error('Error fetching history:', error);
                            showNotification('שגיאה בטעינת היסטוריה', 'danger');
                        }
                    }
            
                    function updateAlertStatus(alert) {
                        const statusCard = document.getElementById('currentStatus');
                        const statusIcon = statusCard.querySelector('.status-icon');
                        const statusTitle = statusCard.querySelector('.status-title');
                        const statusDescription = statusCard.querySelector('.status-description');
                        const shelterTimeElement = document.getElementById('shelterTime');
            
                        statusCard.className = `status-card ${alert.class}`;
                        statusIcon.textContent = alert.icon;
                        statusTitle.childNodes[1].textContent = alert.title;
                        statusDescription.textContent = alert.description;
            
                        if (alert.type === 'shelter' || alert.type === 'early-warning') {
                            const cityInfo = cityData[currentCity];
                            shelterTimeElement.textContent = cityInfo ? `${cityInfo.shelterTime} שניות` : 'מידע יופיע בעת התראה';
                        } else {
                            shelterTimeElement.textContent = 'מידע יופיע בעת התראה';
                        }
                    }
            
                    function addToHistory(alert) {
                        const now = new Date();
                        alertHistory.unshift({
                            time: now.toLocaleString('he-IL'),
                            type: alert.type,
                            title: alert.title,
                            description: alert.description,
                            city: currentCity
                        });
                        if (alertHistory.length > 20) {
                            alertHistory = alertHistory.slice(0, 20);
                        }
                        renderHistory();
                    }
            
                    function renderHistory() {
                        const historyContainer = document.getElementById('alertHistory');
                        if (alertHistory.length === 0) {
                            historyContainer.innerHTML = '<div class="no-city">אין היסטוריית התראות עדיין</div>';
                            return;
                        }
                        const historyHTML = alertHistory.map(item => `
                            <div class="history-item ${item.type}">
                                <div class="history-time">${item.time}</div>
                                <div class="history-type">${getAlertTypeText(item.type)} - ${item.city}</div>
                                <div class="history-description">${item.description}</div>
                            </div>
                        `).join('');
                        historyContainer.innerHTML = historyHTML;
                    }
            
                    function getAlertTypeText(type) {
                        const types = {
                            'safe': 'מצב רגיל',
                            'early-warning': 'התראה מוקדמת',
                            'shelter': 'כניסה לממ"ד',
                            'all-clear': 'יציאה מממ"ד'
                        };
                        return types[type] || type;
                    }
            
                    function refreshHistory() {
                        showNotification('מרענן היסטוריה...', 'info');
                        fetchHistory(currentCity);
                    }
            
                    function updateConnectionStatus(connected) {
                        const statusElement = document.getElementById('connectionStatus');
                        isConnected = connected;
                        statusElement.textContent = connected ? '🔗 מחובר לשרת' : '❌ לא מחובר';
                        statusElement.classList.toggle('disconnected', !connected);
                    }
            
                    function updateStatusTime() {
                        const timeElement = document.getElementById('statusTime');
                        const now = new Date();
                        timeElement.textContent = `עדכון אחרון: ${now.toLocaleTimeString('he-IL')}`;
                    }
            
                    function showNotification(message, type) {
                        const notification = document.createElement('div');
                        notification.style.cssText = `
                            position: fixed;
                            top: 80px;
                            right: 20px;
                            background: ${type === 'danger' ? '#f44336' : type === 'warning' ? '#ff9800' : type === 'success' ? '#4CAF50' : '#2196F3'};
                            color: white;
                            padding: 12px 20px;
                            border-radius: 8px;
                            box-shadow: 0 4px 10px rgba(0,0,0,0.3);
                            z-index: 1001;
                            max-width: 300px;
                            font-weight: bold;
                            animation: slideIn 0.3s ease-out;
                        `;
                        notification.textContent = message;
                        document.body.appendChild(notification);
                        setTimeout(() => {
                            notification.style.animation = 'slideOut 0.3s ease-in';
                            setTimeout(() => document.body.removeChild(notification), 300);
                        }, 5000);
                    }
            
                    // Animations for notifications
                    const style = document.createElement('style');
                    style.textContent = `
                        @keyframes slideIn {
                            from { transform: translateX(100%); opacity: 0; }
                            to { transform: translateX(0); opacity: 1; }
                        }
                        @keyframes slideOut {
                            from { transform: translateX(0); opacity: 1; }
                            to { transform: translateX(100%); opacity: 0; }
                        }
                    `;
                    document.head.appendChild(style);
            
                    // Event listeners
                    document.getElementById('cityInput').addEventListener('change', registerCity);
                    setInterval(fetchRealTimeAlerts, 10000);
                    console.log('מערכת התראות חכמה פועלת');
                </script>
            </body>
            </html>
            

            https://www.av-digital.co.il/

            תגובה 1 תגובה אחרונה
            0
            • אבי 203א מנותק
              אבי 203א מנותק
              אבי 203
              כתב נערך לאחרונה על ידי אבי 203
              #12

              הכנתי משהו לפום ריהטא לא בדקתי מספיק
              https://ph-7php.onrender.com/

              https://www.av-digital.co.il/

              M pcinfogmachP אבי 203א י.פל.י 4 תגובות תגובה אחרונה
              7
              • M מנותק
                M מנותק
                mekev
                השיב לאבי 203 נערך לאחרונה על ידי
                #13

                @אבי-203
                מדהים!

                נקודה למחשבה ממבטי האישי:
                אולי תעשה את הכותרת בצבע בהיר
                ורק בעת התראה תשנה אותה לאדומה

                תגובה 1 תגובה אחרונה
                0
                • pcinfogmachP מנותק
                  pcinfogmachP מנותק
                  pcinfogmach
                  השיב לאבי 203 נערך לאחרונה על ידי
                  #14

                  @אבי-203
                  מדהים! יש אפשרות לחלוקה לפי איזורים?
                  למשל ירושלים צפון דרום וכו'?

                  גמ"ח מידע מחשבים ואופיס

                  אבי 203א תגובה 1 תגובה אחרונה
                  0
                  • אבי 203א מנותק
                    אבי 203א מנותק
                    אבי 203
                    השיב לאבי 203 נערך לאחרונה על ידי אבי 203
                    #15

                    @אבי-203 כתב בהתראה על יציאה ממ"ד & שיפור אתר פיקוד העורף:

                    הכנתי משהו לפום ריהטא לא בדקתי מספיק
                    https://ph-7php.onrender.com/

                    אם היה לי זמן וכוח, אני חושב שהדבר החשוב הבא זה רישום למערכת טלפונית, שתשלח צינתוק ממספר X בהתראה מראש, ממספר Y בכניסה לממד וממספר Y ביציאה מהממד. כמובן בהתאם לעיר שנרשמה.
                    או גם סמס.

                    https://www.av-digital.co.il/

                    A תגובה 1 תגובה אחרונה
                    4
                    • אבי 203א מנותק
                      אבי 203א מנותק
                      אבי 203
                      השיב לpcinfogmach נערך לאחרונה על ידי
                      #16

                      @pcinfogmach למה זה חשוב? בשביל חיפוש מהיר ברשימה?

                      https://www.av-digital.co.il/

                      צדיק תמיםצ pcinfogmachP 2 תגובות תגובה אחרונה
                      -1
                      • צדיק תמיםצ מנותק
                        צדיק תמיםצ מנותק
                        צדיק תמים
                        השיב לאבי 203 נערך לאחרונה על ידי
                        #17
                        פוסט זה נמחק!
                        תגובה 1 תגובה אחרונה
                        -1
                        • י.פל.י מנותק
                          י.פל.י מנותק
                          י.פל.
                          השיב לאבי 203 נערך לאחרונה על ידי
                          #18

                          @אבי-203 כתב בהתראה על יציאה ממ"ד & שיפור אתר פיקוד העורף:

                          הכנתי משהו לפום ריהטא לא בדקתי מספיק
                          https://ph-7php.onrender.com/

                          נראה יפהפה!
                          האם כשהדף אינו פועל הוא שולח התראות?
                          ואם לא, האם אתה מתכוון להוסיף?
                          ואם לא, האם תוכל לשחרר את הקוד [חבל שאעבוד מחדש, כשעשית כבר את העבודה העיקרית...]

                          תגובה 1 תגובה אחרונה
                          0
                          • pcinfogmachP מנותק
                            pcinfogmachP מנותק
                            pcinfogmach
                            השיב לאבי 203 נערך לאחרונה על ידי
                            #19

                            @אבי-203 כתב בהתראה על יציאה ממ"ד & שיפור אתר פיקוד העורף:

                            @pcinfogmach למה זה חשוב? בשביל חיפוש מהיר ברשימה?

                            כי כשיש התראה בצפון ירושלים זה לא בהכרח בדרום ירושלים - בקיצער זה בעצם כמו שני ערים שונות. ככה הם גם עשו באתר של פיקוד העורף. תודה.

                            גמ"ח מידע מחשבים ואופיס

                            O תגובה 1 תגובה אחרונה
                            2
                            • ש מנותק
                              ש מנותק
                              ש.ב.ח.
                              כתב נערך לאחרונה על ידי
                              #20

                              @אבי-203 אשמח לעבור על קוד המקור, אם יורשה לי.

                              תגובה 1 תגובה אחרונה
                              0
                              • O מחובר
                                O מחובר
                                one1010
                                השיב לpcinfogmach נערך לאחרונה על ידי
                                #21

                                @pcinfogmach כתב בהתראה על יציאה ממ"ד & שיפור אתר פיקוד העורף:

                                @אבי-203 כתב בהתראה על יציאה ממ"ד & שיפור אתר פיקוד העורף:

                                @pcinfogmach למה זה חשוב? בשביל חיפוש מהיר ברשימה?

                                כי כשיש התראה בצפון ירושלים זה לא בהכרח בדרום ירושלים - בקיצער זה בעצם כמו שני ערים שונות. ככה הם גם עשו באתר של פיקוד העורף. תודה.

                                בשולי, מישהו יודע מה נחשב צפון/דרום/מרכז/מערב/מזרח?

                                תגובה 1 תגובה אחרונה
                                0
                                • A מנותק
                                  A מנותק
                                  avi rz
                                  השיב לאבי 203 נערך לאחרונה על ידי
                                  #22

                                  @אבי-203 כתב בהתראה על יציאה ממ"ד & שיפור אתר פיקוד העורף:

                                  אם היה לי זמן וכוח, אני חושב שהדבר החשוב הבא זה רישום למערכת טלפונית, שתשלח צינתוק ממספר X בהתראה מראש, ממספר Y בכניסה לממד וממספר Y ביציאה מהממד. כמובן בהתאם לעיר שנרשמה.

                                  פצצה, לענ"ד יעזור להרבה אנשים.

                                  תגובה 1 תגובה אחרונה
                                  0
                                  • אבי 203א מנותק
                                    אבי 203א מנותק
                                    אבי 203
                                    כתב נערך לאחרונה על ידי
                                    #23

                                    https://ph-7php.onrender.com/
                                    הוספתי התראות קוליות לשבת, ועוד כמה שיפורים וערים.
                                    מקווה שהכל תקין.
                                    קשה לעשות טסטים... 🙂

                                    https://www.av-digital.co.il/

                                    meir lamdanM אבי 203א 2 תגובות תגובה אחרונה
                                    2
                                    • meir lamdanM מנותק
                                      meir lamdanM מנותק
                                      meir lamdan
                                      השיב לאבי 203 נערך לאחרונה על ידי meir lamdan
                                      #24

                                      @אבי-203 כתב בהתראה על יציאה ממ"ד & שיפור אתר פיקוד העורף:

                                      קשה לעשות טסטים...

                                      כעת לפחות בבית שמש לא עובד
                                      גם בעת האזעקה עצמה ולא בהתראה המוקדמת

                                      שניים מקרא | מיזוג pdf

                                      תגובה 1 תגובה אחרונה
                                      0
                                      • 2 מנותק
                                        2 מנותק
                                        22meny
                                        כתב נערך לאחרונה על ידי
                                        #25

                                        גם לי בירושלים לא עובד, בכל אופן תודה רבה

                                        תגובה 1 תגובה אחרונה
                                        0
                                        • אבי 203א מנותק
                                          אבי 203א מנותק
                                          אבי 203
                                          השיב לאבי 203 נערך לאחרונה על ידי אבי 203
                                          #26

                                          @אבי-203 לא עבד 😞
                                          השינויים האחרונים הרסו משהו. בודק את זה

                                          https://www.av-digital.co.il/

                                          תגובה 1 תגובה אחרונה
                                          1

                                          • 1
                                          • 2
                                          בא תתחבר לדף היומי!
                                          • התחברות

                                          • אין לך חשבון עדיין? הרשמה

                                          • התחברו או הירשמו כדי לחפש.
                                          • פוסט ראשון
                                            פוסט אחרון
                                          0
                                          • דף הבית
                                          • קטגוריות
                                          • פוסטים אחרונים
                                          • משתמשים
                                          • חיפוש
                                          • חוקי הפורום