NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
Patrik Neumann:25.8.2015 20:36

Ahoj, lze nějak udělat pomocí javascriptu, abych zjistil, zda obrázek existuje či ne, a pokud ne, tak to něco provede (je jedno co)? PHP použít nemůžu. Budu rád za nějaké rady.

Odpovědět
25.8.2015 20:36
Nic není nemožné, proto se snažím dál.
Avatar
dobrakmato
Člen
Avatar
Odpovídá na Patrik Neumann
dobrakmato:25.8.2015 21:26

Kde potrebujes kontrolovat existenciu obrazku? Na klientovi? Na serveri?

 
Nahoru Odpovědět
25.8.2015 21:26
Avatar
Odpovídá na Patrik Neumann
Neaktivní uživatel:25.8.2015 21:29

jQuery/AJAX:

$.ajax({
  url: '/soubor.ext',
  success: function(data){
    //soubor existuje
  },
  error: function(data){
    //soubor neexistuje
  },
})
Nahoru Odpovědět
25.8.2015 21:29
Neaktivní uživatelský účet
Avatar
Odpovídá na Patrik Neumann
Michal Žůrek - misaz:25.8.2015 22:20

nejjednodušší máš

<img src="foo.png" alt="bar" onload="..." onerror="..." />

lze to samozřejmě nastavit i z JavaScriptu.

<img src="foo.png" id="foo" alt="bar" />
var img = document.getElementById("foo"); // s jQuery: img = $("#foo")[0]
img.onload = function () {
    // image load
}
img.onerror = function () {
    // error
}
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
25.8.2015 22:20
Avatar
Odpovídá na Michal Žůrek - misaz
Patrik Neumann:25.8.2015 23:20

díky, dávám like

Nahoru Odpovědět
25.8.2015 23:20
Nic není nemožné, proto se snažím dál.
Avatar
Jurajs
Člen
Avatar
Jurajs:26.8.2015 9:41

Ahoj, nechce se mi zakládat další diskuze o JS a jQuery, potřeboval bych pomoc, v consoli v google chrome mi to píše: $ is not defined. Přikládám kód prosím o radu Díky

<style>
  #hlavni{width: 850px; margin: 0 auto;}
  #top{border: 1px solid #c3c3c3; margin: 5px; padding: 50px;}
  #obsah{border: 1px solid #c3c3c3; margin: 5px; height: 1500px;}
  #blok{width: 150px; height: 150px; float: right; border: 1px solid #000000; position: absolute; margin: left; top: 50px;
  z-index: 1;}
  </style>
  </head>
  <body>
    <div id="hlavni">
         <div id="top"></div>
         <div id="blok"></div>

         <div id="obsah">
         <h1>Obsah stránky</h1>

         </div>
    </div>
    <script type="text/javascript">


         $(document).ready(function($){

            var body = parseInt($("#obsah").offset().top) - 20;

            $(window).scroll(function(){
               var scroll = $(window).scrollTop();

               $("#blok").html("posunuti: " + scroll);
               if(scroll > body){
                 $("#blok").stop().css({
                      position: 'fixed',
                      left:  407,
                      top: 20
                 });
               }else if(scroll < body){
                 $("#blok").css({
                        left: 407,
                        top: 50,
                 });
               };

            });

         });


    </script>
  </body>
</html>
 
Nahoru Odpovědět
26.8.2015 9:41
Avatar
Jurajs
Člen
Avatar
Jurajs:26.8.2015 9:45
$(document).ready(function($){  // tady mi to píše $ is not defined
 
Nahoru Odpovědět
26.8.2015 9:45
Avatar
Jurajs
Člen
Avatar
Jurajs:26.8.2015 10:15

Omlouvám se za spam, ale už jsem to vyřešil :D :D :D ...radši ani nebudu psát kde byla chyba :D :D

 
Nahoru Odpovědět
26.8.2015 10:15
Avatar
TomasGlawaty
Člen
Avatar
Odpovídá na Jurajs
TomasGlawaty:26.8.2015 10:41

Hádám, chyběla jQuery ? :D

 
Nahoru Odpovědět
26.8.2015 10:41
Avatar
Odpovídá na Neaktivní uživatel
Neaktivní uživatel:26.8.2015 12:32

Vím že je to asi už jedno ... Ale pro tvoje vzdělávací účely ... Ajax nedokáže zpracovat jiná data než XML json js text HTML ... To znamená že na obrázek se i sáhne ale vyleze to něco jako parse error ... Takže ajax a obrázky prosím nee.

Nahoru Odpovědět
26.8.2015 12:32
Neaktivní uživatelský účet
Avatar
Odpovídá na Drahomír Hanák
Neaktivní uživatel:26.8.2015 14:02

Wow nečekal jsem že někdo zareaguje na tohle ne úplně přesné vyjádření ... Každopádně palec nahoru za pohotovost a znalosti.

Nahoru Odpovědět
26.8.2015 14:02
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Neaktivní uživatel:26.8.2015 14:20

Jsem na mobilu takže se omlouvám za porušení edit pravidla :

Edit: ajax dokáže zpracovat i binární data ... Jak odeslat tak přijmout ... Tedy pokud si stáhnu binárně obrázek tak ho mohu (po stáhnutí a uložení do pole, pomocí bufferu ) do stránky hodit ...

Nicméně to není nejlepší způsob jak zjistit jestli obrázek existuje :-D

Více o ajaxu například v připravovaném seriálu tady na sítí.

Nahoru Odpovědět
26.8.2015 14:20
Neaktivní uživatelský účet
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 13 zpráv z 13.