Autor | Zpráva | ||
---|---|---|---|
Monroe Profil * |
#1 · Zasláno: 7. 3. 2013, 17:10:01
Zdravím, chtěl bych vás požádat o pomoc. Přes grease monkey se snažím skrýt jeden span id element, ale je tu problém. Element mění svůj název takže není možné ho skrýt. Skryje se pouze při první návštěvě webu, ale jakmile kliknu na nějaký odkaz na té stránce, tak pokaždé změní svůj název. Při první návštěvě webu má span název
<span id="d5e" potom když na něco kliknu třeba v navigačním menu tak se span změní na <span id="id5e7" [/pre] a tak dále. Po každém kliknutí je ten span jiný.
Existuje něco jak ten span skrýt když se takhle mění? Span jsem se snažil skrýt touto funkcí. (function() { var div = document.getElementById("id5e"); if (div) { // div.style.display = "none"; // Pouze skryje div.parentNode.removeChild(div); // Úplně odstraní } } )(); |
||
Str4wberry Profil |
#2 · Zasláno: 7. 3. 2013, 17:17:29
Můžete si vybrat kolekci všech
<span> ů v určité oblasti a skrýt ten s určitým pořadím. Za předpokladu, že se nepřidávají a neubírají <span> y jiné:
var div = document.getElementsByTagName("span")[10]; var div = document.getElementById("idOblasti").getElementsByTagName("span")[10]; |
||
Monroe Profil * |
#3 · Zasláno: 7. 3. 2013, 17:32:26
Tak bohužel:-( Ani toto řešení nefunguje.
jedná se o stránku internetové bankovnictví Air Bank, kde se snažím skrýt položku v navigačním menu. Při prihlášení do internetového bankovnictví se span nezobraz, ale v té aplikaci na něco kliknu, zase tam je:-( Celý script je // ==UserScript== // @name Blokace polozky v menu // @namespace Monroe // @include https://*.airbank.cz/* // @version 1 // ==/UserScript== (function() { var div = document.getElementsByTagName("span")[17]; if (div) { // div.style.display = "none"; // Pouze skryje // Or div.parentNode.removeChild(div); // Úplně odstraní } } )(); Možná že zadávám špatně adresu https://*.airbank.cz/* Už opravdu nevím jak to mají dělané :-( |
||
Str4wberry Profil |
#4 · Zasláno: 7. 3. 2013, 18:22:29
Jestli se na stránce mění něco až po kliknutí, tak to tímto skriptem, který se spouští při načtení stránky, nedocílíte.
Zkoušel jste to skrýt pomocí CSS? |
||
Monroe Profil * |
#5 · Zasláno: 7. 3. 2013, 19:12:27
Pomocí CSS? V grease monkey scriptech vsechno schovávám tímto způsobem. CSS jsem nezkoušel. Můžete prosím uvézt příklad jak by to mělo vypadat?
|
||
Str4wberry Profil |
#6 · Zasláno: 7. 3. 2013, 19:30:34
Stačí si připojit uživatelské CSS a požadované elementy skrýt:
#d5e, #id5e7 {display: none} |
||
Monroe Profil * |
#7 · Zasláno: 7. 3. 2013, 19:36:56 · Upravil/a: Monroe
Tak bohužel, ten element se stejně zase hned změní a pokaždé má jiný název. Nedokážu takhle vypsat všechny jeho názvy, ani nevím kolik jich vlastně je. Vždycky když kliknu na něco, tak si ten span vygeneruje nový název. Asi to nejde jen tak odstranit.
function addGlobalStyle(css) { var head, style; head = document.getElementsByTagName('head')[0]; if (!head) { return; } style = document.createElement('style'); style.type = 'text/css'; style.innerHTML = css; head.appendChild(style); } addGlobalStyle("#id5e, #id5e7, #id697 { display: none; }"); * a nebo to grease monkey neumí |
||
Str4wberry Profil |
#8 · Zasláno: 7. 3. 2013, 19:46:02
Tak potom je potřeba najít nějaký společný znak těch různých variant jednoho elementu a vymyslet pro ně selektor. Z toho, co jste uvedl, nemohu poradit nic moc lepšího než skrýt
<span> s id začínajícím na „id“:
span[id^="id"] { display: none; } |
||
Časová prodleva: 11 let
|
0