Autor Zpráva
dolly1010
Profil
Tvořím takovoutu stránku: http://mylms.cz/pastviny/index.html

Ale už si nevím rady s umístěním textu v tak, aby začínal zcela vlevo. Stále začíná v pravé části. Zřejmě to nějak ovlivňujě menu, ale nevím jak.
Ve výsledku bych chtěl, aby se kliknutím na položku menu DIV zobrazil a v něm se načetl obsah z externého html souboru. Lze to nějak provést pomocí JS?
kuba222
Profil
Zajímavé. K tomu načítání jiné stránky bych vám doporučil knihovnu jQuery. Spousta dokumentace např:http://jqueryui.com/

Já používám funkci load.
 $("#div").load("soubor.html")  

+ Šířka divu v procentech se mi nezdá jako dobrý nápad. Teda pokud tam budete mýt holý text tak ano, ale jinak ne.
Kubo2
Profil
kuba222:
Naozaj má ten <div> nastavené id="div"? To mi nepripadá obzvlášť rozumné, ale dajme tomu.

Ďaľšia vec, hádam nebudeš dollymu1010 doporučovať niekoľko desiatok kilobajtov veľkú javascriptovú knižnicu iba kvôli tomu, aby pomocou nej napísal jeden jediný riadok? Obzvlášť keď sa to dá napísať niekoľkými riadkami čistého JS.

<div id="div">Nejaký východzí text divu</div>
<script>
var zapisovaciDiv = document.getElementById("div") || document.querySelector("#div");
var nacitaj = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
nacitaj.open("GET", "subor.html", true);
nacitaj.onreadystatechange = function() {
  if(this.readyState != 4) return;
  if(this.status != 200) {
    alert("Obsah sa zo servera nepodarilo načítať.");
    return;
  }
  zapisovaciDiv.innerHTML = this.responseText;
}
nacitaj.send();
</script>



Akurát si teraz neviem spomenúť či to nemá byť response, ale je to podľa toho, v akom formáte chceš vrátené dáta získať.
Chamurappi
Profil
Reaguji na Kuba2:
document.getElementById("div") || document.querySelector("#div");
Jaký má smysl ta ||-větev? Co může document.getElementById nenajít?

window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
V Exploreru může mít uživatel zapnuté „filtrování ActiveX“, pak tuším window.ActiveXObject existuje, ale new ActiveXObject("Microsoft.XMLHTTP") selže. Ta podmínka by měla být postavena opačně.

alert("Obsah sa zo servera nepodarilo načítať.");
To není pravda, načetl se obsah chybové stránky. Nevím, proč se statusu věnuje tolik péče. Sám ho většinou netestuju…

Akurát si teraz neviem spomenúť či to nemá byť response
Nemá. Vlastnost response má mizernou podporu v prohlížečích.


Reaguji na kubu222:
Spousta dokumentace např:http://jqueryui.com/
To je dokumentace k jQuery UI, tu už tuplem nepotřebuje.
Kubo2
Profil
Chamurappi:
Jaký má smysl ta ||-větev? Co může document.getElementById nenajít?
Máš pravdu, upravil som.

V Exploreru může mít uživatel zapnuté ‚filtrování ActiveX‘, pak tuším window.ActiveXObject existuje, ale new ActiveXObject("Microsoft.XMLHTTP") selže. Ta podmínka by měla být postavena opačně.
Nevedel som, ďakujem za opravenie. Opačne znamená ako? Nemá byť náhodou vytvorenie objektu ActiveXObject v try-catch bloku?

„alert("Obsah sa zo servera nepodarilo načítať.");“
To není pravda, načetl se obsah chybové stránky.
Možno sa načítala chybová stránka, ale nenačítal sa obsah, o ktorý stojíme.

Nevím, proč se statusu věnuje tolik péče. Sám ho většinou netestuju…
Občas je ho celkom užitočné otestovať, viď vyššie. Ako inak to teda riešiš ty? Či jednoducho iba vynecháš testovanie statusu?
Chamurappi
Profil
Reaguji na Kuba2:
Máš pravdu, upravil som.
Neupravil.

Opačne znamená ako?
Testovat XMLHttpRequest a až když není, zkusit ActiveXObject.

Ako inak to teda riešiš ty? Či jednoducho iba vynecháš testovanie statusu?
Pokud mám nějaké požadavky na stahovaný obsah, tak kontroluji, zda je splňuje, status mě nezajímá.
Pokud žádné speciální požadavky nemám a server vrátí chybu, tak beru chybovou stránku jako plnohodnotnou alternativu k žádanému obsahu, status mě také nezajímá.
Neříkám, že je status úplně zbytečný, jsou případy, kdy by se dal rozumně využívat, ale pokud žádné využití není, tak mi opravdu přijde zbytečné ho testovat…
Kubo2
Profil
Chamurappi:
Neupravil.
Ospravedlňujem sa za to. Bol to deň pred Štedrým dňom, bolo veľa stresu, hneď ako som príspevok [#5] odoslal a šiel som upraviť [#3], zavolal ma otec, ktorý potreboval s niečím súrne pomôcť. Neskôr som to asi minul a vrátil som sa do tohoto vlákna až teraz, po tvojej ďaľšej reakcii, keď už bohužiaľ nemám ďaľšiu možnosť upraviť príspevok [#3].
Mám dve možnosti, buď mi dočasne povolíš ten príspevok upraviť, alebo mi zostáva už len ťa poprosiť, aby si ho upravil ty, moderátor ;-)
Vďaka za upozornenie.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0