Autor Zpráva
Behemot
Profil
Rád bych s využitím uživatelskýho skriptu v Opeře 12 zneviditelnil bordel, co mi Fio furt tlačí do bankovnictví (furt nějaký že prioritní zprávy, vopravdu důležitý věci posílají na e-mail, jinak mě to nezajímá, ale furt to ukrajuje místo na stránce, pže to cpou samozřejmě nahoru; no a mě hlavně nebaví furt se s tím mrcasit, pže to nejde zmizet jinak, než to vodevřít a pak případně smazat; takhle si ten skript šoupnu na kadý zařízení a mám na věky věků pokoj).

Optimální asi je s použitím skriptu zablokovat nebo zneviditelnit ten jeden konkrétní div, protože jeho identifikátor třídy se nemění:
<div class="alert alert-yellow">
Z toho nás zajímá ten .alert-yellow.

Zatím jsem se dopracoval k tomudle:
function addCss() {
var styleElement = document.createElement("style");
styleElement.type = "text/css";
styleElement     = "{display:none}";

if (window.location.href=="ib.fio.cz")
    {
document.getElementsByClassName("alert-yellow")[0].appendChild(styleElement);
    }    
}

Tak co všechno je blbě? :D
anonym_
Profil *
Behemot:
Proč si ten script nezkusis pustit a nepodivas se do konzole? Trochu se snaz.
Behemot
Profil
anonym:
Kama to tam mám nacpat?

Zdá se, že Opera vyloženě umí userscripty, tak sem to předělal zatím takle, prohlížeč si to nejspíš sám identifikuje kde to má použít a nemělo by být třeba vkládat podmínku na identifikaci, esli je na správné stránce. Ponechávám včetně původních komentářů:

// ==UserScript==
// @include ib.fio.cz/ib/*
// ==/UserScript==


(function(source) {
    // Check for function input.
    if ('function' == typeof source) {
        // Execute this function with no arguments, by adding parentheses.
        // One set around the function, required for valid syntax, and a
        // second empty set calls the surrounded function.
        source = '(' + source + ')();'
    }

    // Create a script node holding this  source code.
    var script = document.createElement('script');
    script.setAttribute("type", "application/javascript");
    script.textContent = source;

    // Insert the script node into the page, so it will run, and immediately
    // remove it to clean up.
    document.body.appendChild(script);
    document.body.removeChild(script);
})

function addCss() {
var styleElement = document.createElement('style');
styleElement.type = "text/css";
styleElement = "{display:none}";
document.getElementsByClassName("alert-yellow")[0].appendChild(styleElement);    
}
Kajman
Profil
Sice lze i javascriptem přidat styl, něco jako
(function() {
    var styleElement = document.createElement('style');
    styleElement.type = "text/css";
    styleElement.textContent = '.alert-yellow {display:none}';
    document.body.appendChild(styleElement);
})();

Ale opera myslím také umí v nastavení upravit či zvolit vlastní .css zápis (snad i pro doménu). Tam by pak stačilo jen to
.alert-yellow {display:none}
bez složitého přidávání javascriptem.
Keeehi
Profil
Behemot:
Já se divím, že když tě otravuje tohle v bankovnictví, že tě neotravují reklamy všude jinde. A pokud máš na reklamy nějaký adblock, tak není problém tu hlášku označit za reklamu a bude ti to adblock skrývat. A žádný svůj vlastní javascript nemusíš řešit.
Behemot
Profil
Kajman:
Ha! Vyhráváš bludišťáka! Stačilo fakt přidat styl:D

Keeehi:
No šak mám tu stařičkej ABP, ale s tím nejdou blokovat divy, pokud vím?
Keeehi
Profil
Teoreticky to možné je, ale přijde mi to dost nepravděpodobné. Nicméně i kdyby tam chyběl ten klikací nástroj na vytváření vlastních filtrů, tak předpokládám, že tam půjde minimálně ručně zapsat.
ib.fio.cz##.alert-yellow

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0