Autor Zpráva
Školník
Profil
Ahojte znalci JS.
Omlouvám se za ne úplně jasný název tématu, ale do tak krátkého textu jsem svou myšlenku nedokázal vecpat..:-)

Do stránky vkládám několik externích JS (například: noveokno.js a novyobrazek.js)... Defaultně se načítají a dělají přesně to, co po nich chci. Avšak chtěl bych dát uživateli možnost, aby si tento skript vypnul. Podmínka je, aby se na stránce během zapínání/vypínání JS nic nedělo, tzn. nenačítala se znova.

Představuji si to jako odkaz: 1. JS je zapnutý -> <a>Vypni otravná okýnka</a> a naopak (až si JS vypne) 2. JS je vypnutý -> <a>Zapni otravná okýnka</a>...

Vím, že na to mam použít COOKIEs nejspíš v souběhu právě s JS. Stačí mi tedy na základě odkazu zakomentovávat resp. odkomentovávat dva řádky v HEAD.

Snad jsem to napsal srozumitelně. Studoval jsem stránku pety (http://www.volny.cz/peter.mlich/www.htm) a jeho přepínání stylů v záhlaví, ale to je pro mou potřebu asi moc složité. A nejspíš i na moje (už) základní znalosti JS...

Děkuji proto za shovívavost a trpělivost, určitě to řešení nemůže být zas tak složité...
habendorf
Profil
No <a>Vypni otravná okýnka</a> vypíšeš javascriptem, takže bude-li vypnutý, odkaz se nevypíše.
Naopak <a>Zapni otravná okýnka</a> dáš do noscript.
Školník
Profil
Díky habendorfe, ale já spíš hledám ten vnitřek... Vypsat odkazy umím, ale domluvit prohlížeči aby udělal to, co po něm chci, už moc ne...
souki
Profil
a co měnit přes ID src toho externího skriptu?
Školník
Profil
To přesně nevím. Potřeboval bych ten externí skript prostě uskřípnout. Ať už změnit src nepříklad na prázdný .js, to mi je vcelku jedno... Ale jo, změna src by asi můj problém vyřešila...
habendorf
Profil
A co spíš změna innerHTML toho scriptu?
habendorf
Profil
Případně zkusit, jestli script má vlastnost disabled (nevím) a měnit ji (true/false).
Školník
Profil
Díky, ale SCRIPT disabled nemá a innerHTML - nemění vnitřní HTML kód? Ve volání externího skriptu žádný není..:-( Mě jde ale spíš o vlastní řešení než o algoritmus... Jak psal souki, zkouším změnit src scriptu, ale zatím se to nedaří... Myslím, že na to nemam znalosti.
tiso
Profil
A co spíš změna innerHTML toho scriptu?
Zmena innerHTML s adresou toho skriptu?
habendorf
Profil
Ale ne, nějak mi nedošlo, že je externí.

Podle mě je špatně celá logika věci, ale to Školník nechce slyšet.
tiso
Profil
habendorf
Súhlasím, s JS sa síce dajú robiť užitočné veci pokiaľ sa použije správne, ale inak je skôr na škodu... Dajte deťom do rúk zápalky a tým väčším Javascript a dopadne to rovnako...
Školník
Profil
habendorf :-) Já bohužel pořád nevím, co je na tom nelogického..:-) Řekněme, že používám skript, který po přejetí přes určitý text vyhodí varovné okno. Je zapnutý defaultně a vkládá se z externího JS. Mnoha uživatelům to pomůže, ale některý z nich by si tyto hlášky chtěl vypnout. A proto bych rád někam vrazil odkaz, na který když klikne, tak odstřihne tento externí JS soubor. Když se ale následně rozhodne, že by ta okna chtěl zobrazovat, tak ten skript jednoduše zase připojí kliknutím na stejný (čti podobný) odkaz.

Jelikož umím používat PHP, tak si myslím, že by nebyl problém po kliknutí na odkaz uložit do cookies třeba zobrazovat=NE. Resp. zobrazovat=ANO. A při načítání stránky načíst HTTP_VAR_COOKIE a zjistit, jestli ano nebo ne. A pak už jen jednoduchou podmínkou v HEAD buď vypsat řádek který načte externí JS nebo nevypsat.

A samozřejmě v závisloti na hodnotě COOKIE se bude vypisovat správný odkaz - a to buď zobrazovat nebo nezobrazovat...

Protože se mi ale nelíbí, že by se stránka loadovala znovu, myslel jsem na řešení v JS (který moc neovládám). Copak to, habendorfe, opravdu postrádá logiku?
ah01
Profil
Školník
Proč prostě neuděláte to zakázání zobrazování okna přes JS. Celá idea zakázání JS pomocí JS je trochu, no, divná ...

Vytvořil bych si boolean proměnou, a podle její hodnoty bych to okno otevřel, nebo ne - není to jednodušší?
Školník
Profil
ah01 Nerozumím... Resp. je to jednodušší, ono je to skoro stejné. Já to ale nedokážu v JS napsat. O to se mi jedná...
ah01
Profil
Školník
Něco takového: http://emp.wz.cz/win.html ?
Školník
Profil
ah01 Děkuju, pracuju na tom, hlavní je, že funguje to zapisování a čtení cookies.. A co externího scriptu to asi vložit nepůjde, viď..? Jak je to s robotem, když na začátku stránky narazí na 1000 řádků Javascriptu, proleze tím, nebo ho to otráví? Vlastně, narazí na ně?

//aha, tak do externího sciptu to samozřejmě vrazit jde...:-)
Školník
Profil
Tak a je to.:-) Díky Vám ah01 za spolupráci a pomoc, bez které bych si neporadil.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0