Avatar
Patrik Neumann:

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:

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

Nahoru Odpovědět  -1 25.8.2015 21:26
Čekni stránku so zabavnými obrázkami z internetov: https://www.coolovo.eu?ref=1007
Avatar
radimsu
Člen
Avatar
Odpovídá na Patrik Neumann
radimsu:

jQuery/AJAX:

$.ajax({
  url: '/soubor.ext',
  success: function(data){
    //soubor existuje
  },
  error: function(data){
    //soubor neexistuje
  },
})
Nahoru Odpovědět  -1 25.8.2015 21:29
404: Motto not found
Avatar
Odpovídá na Patrik Neumann
Michal Žůrek (misaz):

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í
+1 bodů
Řešení problému
Nahoru Odpovědět  +1 25.8.2015 22:20
Nesnáším {}, proto se jim vyhýbám.
Avatar
Nahoru Odpovědět 25.8.2015 23:20
Nic není nemožné, proto se snažím dál.
Avatar
Jurajs
Člen
Avatar
Jurajs:

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:
$(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:

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:

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

Nahoru Odpovědět  +5 26.8.2015 10:41
Člověk může dosáhnout čeho si zamane. Jen musí chtít, případně něco obětovat ...
Avatar
Taskkill
Redaktor
Avatar
Odpovídá na radimsu
Taskkill:

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  ±0 26.8.2015 12:32
Avatar
Taskkill
Redaktor
Avatar
Odpovídá na Drahomír Hanák
Taskkill:

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
Avatar
Taskkill
Redaktor
Avatar
Odpovídá na Taskkill
Taskkill:

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
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.