Problem z src w img
Wyniki 1 do 7 z 7

Temat: Problem z src w img

  1. #1
    Nowicjusz
    Dołączył
    28-12-2010
    Wpisy
    14
    Punkty
    10

    Domyślny Problem z src w img

    Witam,

    Wiem ze to tajemniczy tytuł ale w skrócie o to właśnie chodzi. Napisałem sobie prosty moduł do wyświetlania galerii zdjęć z wykorzystaniem jquery. Na stronie głównej wszystko jest ok ale jak już przechodzę na inne podstrony to nie wiem dlaczego nagle zmieniają się adresy obrazków czyli właśnie "src" w img.

    Adres do danego obrazka podawany i zmieniany jest automatycznie, bo obrazki co wyznaczony czas mają się przeładowywać i wyświetlać ma się inny, w pliku "skrypty.js" tam znajdują się 2 stałe które wskazują na folder w którym znajdują się obrazki:

    Kod:
    const MAX = "images/zdjecia/";
    const MINI = "images/zdjecia/mini/";
    MAX wskazuje na oryginalne zdjęcia a MINI na ich miniaturki.

    W tablicy mam zapisane nazwy plików w tych folderach i później w pętli podmieniam je co wyznaczony czas. Jednak to akurat działa więc pominę tą nudną część i przejdę do setna.

    Na stronie głównej adres do obrazków (czyli ten w <img src="" />) się zgadza czyli przykładowo: " http://www.test.pl/images/zdjecia/mini/zdjecie1.jpg ". Jednak jak przejdę do jakiejś podstrony przykładowo "blog" w której ustawiony jest alias="blog-menu" to nagle adres zmienia się na: " http://www.test.pl/index.php/blog-me...i/zdjecie1.jpg " i niestety nie wiem dlaczego. Testowałem już go na świeżo zainstalowanej wersji joomla 2.5 i problem jest dokładnie ten sam. Oto jak uaktualniam i w podobny sposób ładuję zdjęcia do strony w podanym wyżej pliku:

    Kod:
    function uaktualnij(){
        var img = document.getElementsByTagName("img");
        var nowe = losuj();
        for(var i=0; i<img.length; i++){
            if(img[i].id.match(/^foto/)){
                img[i].src = MINI+zdjecia[nowe[i]] + ".jpg";
                img[i].alt = zdjecia[nowe[i]];
            }
        }
    }
    Jeśli ktoś wie jak rozwiązać ten problem był bym wdzięczny za pomoc. A i jeszcze jedno podany adres jest przykładowy i nie działa w przeglądarce tzn. pod tym adresem nie mam mojej strony bo testuję ją na localhost ale jak przeniosłem to na chwilę na prawdziwy serwer to i tak problem był ten sam. Wiem też ze to nie sprawka żadnego z pluginów bo tą opcję już wykluczyłem. Jedyne co przychodzi mi do głowy ze joomla sama w sobie dodaje przed moim adresem adres do danej strony tzn. podmenu czyli to " http://www.test.pl/index.php/blog-menu/ " ale niestety nie wiem jak się tego pozbyć?
    Ostanio edytowane przez woker20 : 27-09-2012 12:48

  2. Pani Reklamowa
    Pani Reklamowa jest aktywna
    Avatar Panny Google

    Dołączył
    19-08-2010
    Skąd
    Internet
    Postów
    milion
    Pochwał
    setki
  3. #2
    Bywalec
    Dołączył
    04-08-2012
    Skąd
    3ct
    Wpisy
    119
    Punkty
    19

    Domyślny

    do ścieżek relatywnych (bez "/" na początku) dodaje się ścieżka bazowa, czyli base href w sekcji HEAD. Aby temu zapobiec możesz np podawać ścieżki bezwzględne zaczynające się od "/"
    Oprogramowanie pod Joomla! i nie tylko http://dobrepraktyki.net/

  4. #3
    Nowicjusz
    Dołączył
    28-12-2010
    Wpisy
    14
    Punkty
    10

    Domyślny

    To prawda ale jak dodam samo "/" i wówczas z const mam "/images/zdjecia/mini/" to ścieżka również jest zła dopiero jak podam całkowity adres czyli :"http://localhost/testowy/images/zdjecia/mini/" to działa tak jak ja bym chciał a nie da się tego zrobić aby domenę sam sobie dodawał ? czyli to "http://localhost/testowy" ?

  5. #4
    Bywalec
    Dołączył
    04-08-2012
    Skąd
    3ct
    Wpisy
    119
    Punkty
    19

    Domyślny

    Kiedyś się bawiłem z tym, ale nie pamiętam jak to rozwiązałem. Chyba doklejając $this->baseurl lub coś z JURI::
    Skończyło się na tym, że każdą stronę testową robię jako virtualhost i dodaję wpis w /etc/hosts (win: windows/system32/drivers/etc/hosts)
    127.0.0.1 nowastrona.local
    i nie używam już localhost/subdirectory
    Oprogramowanie pod Joomla! i nie tylko http://dobrepraktyki.net/

  6. #5
    Nowicjusz
    Dołączył
    28-12-2010
    Wpisy
    14
    Punkty
    10

    Domyślny

    Tak tylko ze zarówno $this->baseurl i JURI:: to bardziej podchodzi pod PHP a nie javascript. JAVA SCRIPT nie da się używać PHP bynajmniej ja nie wiem jak. Więc jeśli ktoś wie jak to zrobić w JS to niech napisze.

    PS. Pewnie chodziło ci o " .JURI::root(). " i<?php echo $this->baseurl ?> czy coś w tym stylu?

  7. #6
    Bywalec
    Dołączył
    04-08-2012
    Skąd
    3ct
    Wpisy
    119
    Punkty
    19

    Domyślny

    W head pliku index.php szablonu (lub php modułu jako $document->addScript, czy coś takiego)
    Kod:
    <script type="text/javascript">
    var baseurl = '<?php echo $this->baseurl;?>';
    </script>
    Potem doklejasz baseurl do ścieżek plików.
    Oprogramowanie pod Joomla! i nie tylko http://dobrepraktyki.net/

  8. #7
    Nowicjusz
    Dołączył
    28-12-2010
    Wpisy
    14
    Punkty
    10

    Domyślny

    No i niestety ale to nie działa. Próbowałem. I albo nie było żadnych zmian albo wyświetlała się biała strona.

Podobne tematy

  1. Problem z wirusem -> iframe src=http://s1.kaluchka1.in/
    przez krzychoooo na forum Bezpieczeństwo
    Odpowiedzi: 6
    Ostatni post/autor: 12-01-2012, 21:28
  2. obramowanie na img?
    przez Sacque na forum Szablony graficzne
    Odpowiedzi: 7
    Ostatni post/autor: 01-10-2007, 09:46
  3. Odpowiedzi: 2
    Ostatni post/autor: 08-03-2007, 11:28
  4. Problem z butonem jako img
    przez Hamster21 na forum Administracja Joomla!
    Odpowiedzi: 3
    Ostatni post/autor: 20-02-2006, 11:39
  5. Problem J102,<brak skinow, katalogow z img.
    przez macko na forum Administracja Joomla!
    Odpowiedzi: 7
    Ostatni post/autor: 16-10-2005, 16:52

Reguły pisania

  • Nie możesz zakładać nowych tematów
  • Nie możesz dodawać wypowiedzi
  • Nie możesz dodawać załączników
  • Nie możesz poprawiać swoich postów
  •