AGGIORNAMENTO : 7 Novembre 2025 - 09:55
14.5 C
Napoli
AGGIORNAMENTO : 7 Novembre 2025 - 09:55
14.5 C
Napoli
HomeTagsRadio marte

Radio marte

Mixed by Erry: da luglio in onda su Radio Marte. Boom di ascolti Netflix in tutto il mondo

I fratelli Frattasio nei weekend estivi con djset ed aneddoti dedicati agli anni '80 e '90. Un successo senza precedenti per "Mixed by Erry", il film di Sidney Sibilia dedicato alla storia dei fratelli Frattasio, che negli anni '80 "osarono sfidare" la discografia italiana dal loro quartier generale di Forcella,...
PUBBLICITA
PUBBLICITA
PUBBLICITA
PUBBLICITA
PUBBLICITA
PUBBLICITA
Ultime Notizie
Articolo pubblicato il 3 Giugno 2022 - 15:32 - Web Master
'.esc_html__('Impostazioni','default').''; array_unshift($links, $settings_link); return $links; } /** ---------------- Settings ---------------- */ public function register_settings() { $defaults = [ 'enabled' => 1, 'triggers' => ".vm_player_container\ndiv[id^=\"vr-\"].vr.vip\n.vr.vip\n.vr.js.vip", 'targets' => "#HB_Footer_Close_hbagency_space_30939", 'delay_ms' => 300, 'log' => 1, ]; if (!get_option(self::OPT_KEY)) { add_option(self::OPT_KEY, $defaults); } register_setting('sv_dth_group', self::OPT_KEY, [ 'type' => 'array', 'sanitize_callback' => [$this, 'sanitize_options'], 'default' => $defaults, ]); add_settings_section('sv_dth_main', 'Impostazioni principali', function () { echo '

Definisci i selettori che innescano la comparsa e il ripristino degli elementi di destinazione. Il controllo avviene in tempo reale con MutationObserver.

'; }, self::PAGE_SLUG); add_settings_field('enabled', 'Abilita controllo', [$this, 'field_enabled'], self::PAGE_SLUG, 'sv_dth_main'); add_settings_field('triggers', 'Selettori trigger', [$this, 'field_triggers'], self::PAGE_SLUG, 'sv_dth_main'); add_settings_field('targets', 'Selettori target da nascondere', [$this, 'field_targets'], self::PAGE_SLUG, 'sv_dth_main'); add_settings_field('delay_ms', 'Ritardo avvio (ms)', [$this, 'field_delay'], self::PAGE_SLUG, 'sv_dth_main'); add_settings_field('log', 'Log su console', [$this, 'field_log'], self::PAGE_SLUG, 'sv_dth_main'); } public function sanitize_options($opts) { $out = []; $out['enabled'] = empty($opts['enabled']) ? 0 : 1; $out['log'] = empty($opts['log']) ? 0 : 1; $out['delay_ms'] = isset($opts['delay_ms']) ? max(0, intval($opts['delay_ms'])) : 0; foreach (['triggers','targets'] as $key) { $raw = isset($opts[$key]) ? (string)$opts[$key] : ''; $parts = preg_split('/[\r\n,]+/', $raw); $clean = []; foreach ($parts as $p) { $p = trim($p); if ($p !== '') $clean[] = $p; } $out[$key] = implode("\n", array_unique($clean)); } return $out; } public function field_enabled() { $o = get_option(self::OPT_KEY); ?>

Uno per riga o separati da virgola. Se presente almeno uno, i target vengono nascosti.

Selettori degli elementi da nascondere/ripristinare (uno per riga o separati da virgola).

Ritardo prima di avviare l’osservazione (ms).

DOM Triggered Hider

split_lines($o['triggers'] ?? ''); $targets = $this->split_lines($o['targets'] ?? ''); if (empty($triggers) || empty($targets)) return; $cfg = [ 'enabled' => true, 'triggers' => $triggers, 'targets' => $targets, 'delay' => intval($o['delay_ms'] ?? 0), 'log' => !empty($o['log']), ]; wp_register_script('sv-dth', '', [], '1.0.2', true); wp_enqueue_script('sv-dth'); $js = '(function(){ var cfg = '.wp_json_encode($cfg).'; if(!cfg || !cfg.enabled){ return; } var triggerSel = (cfg.triggers||[]).join(",").trim(); var targetSel = (cfg.targets||[]).join(",").trim(); var delay = parseInt(cfg.delay||0,10)||0; var log = !!cfg.log; function logInfo(){ if(log) console.log.apply(console, ["[SV-DTH]"].concat([].slice.call(arguments))); } function logWarn(){ if(log) console.warn.apply(console, ["[SV-DTH]"].concat([].slice.call(arguments))); } function logErr(){ if(log) console.error.apply(console, ["[SV-DTH]"].concat([].slice.call(arguments))); } if(!triggerSel){ logWarn("Nessun selettore trigger configurato."); return; } if(!targetSel){ logWarn("Nessun selettore target configurato."); return; } try { var st = document.createElement("style"); st.textContent = ".svdom-hidden{display:none !important;}"; document.head.appendChild(st); } catch(e){ logErr("Errore iniezione stile:", e); } function qsa(sel, root){ root = root || document; try { return Array.prototype.slice.call(root.querySelectorAll(sel)); } catch(e){ logErr("Selettore non valido:", sel, e); return []; } } function anyTriggerPresent(){ return qsa(triggerSel).length > 0; } function hideTargets(){ qsa(targetSel).forEach(function(el){ if(!el) return; if(!el.dataset) el.dataset = {}; if(!el.dataset.svHidden){ el.dataset.svHidden = "1"; el.classList.add("svdom-hidden"); logInfo("Nascondo target", el); } }); } function showTargets(){ qsa(targetSel).forEach(function(el){ if(!el) return; if(el.dataset && el.dataset.svHidden){ delete el.dataset.svHidden; el.classList.remove("svdom-hidden"); logInfo("Ripristino target", el); } }); } function applyState(){ anyTriggerPresent() ? hideTargets() : showTargets(); } function start(){ applyState(); var obs; try{ obs = new MutationObserver(function(){ applyState(); }); obs.observe(document.documentElement, { childList: true, subtree: true, attributes: true, attributeFilter: ["class","style","id"] }); logInfo("Observer avviato. Trigger:", triggerSel, " Target:", targetSel); } catch(e){ logErr("Errore avvio observer:", e); } window.__sv_dth = { apply: applyState, stop: function(){ if(obs){ obs.disconnect(); logInfo("Observer fermato."); } }, start: start }; } if(delay>0){ setTimeout(start, delay); } else { start(); } })();'; wp_add_inline_script('sv-dth', $js, 'after'); } private function split_lines(string $s): array { $parts = preg_split('/[\r\n,]+/', (string)$s); $out = []; foreach ($parts as $p) { $p = trim($p); if ($p !== '') $out[] = $p; } return array_values(array_unique($out)); } } new SV_Dom_Triggered_Hider();