Przemek Snowball Napisano Kwiecień 6, 2010 Zgłoś Share Napisano Kwiecień 6, 2010 Tworzę malutkie rozszerzenie do Chrome'a, generalnie chodzi o to, że extension sprawdza, czy URL zakończony jest na np. ".jpg" - wtedy pokazuje ikonkę, której kliknięcie uruchamia skrypt JS. To wszystko prościzna, problem właśnie ze skryptem. Ten ma sprawdzić URL karty, znaleźć końcówkę (dokładniej: ostatnie 2 znaki przed finalną kropką) i sprawdzić, czy jest ona liczbą - jeśli tak, to ma zwiększyć ją o 1 i utworzyć zeń nowy adres URL (taki sam jak obecny, ale z liczbą większą o 1) a następnie do niego przejść. Problem niby banalny, ale po prostu nie znam składni JS. Żeby nie wyjść na tego lenia co to by chciał żeby mu wszystko zrobić, zrobię Pascala jak ja to widzę, może ktoś pomoże przetłumaczyć to na JS albo rzuci jakiś lepszy pomysł... var tenUrl: string; tenNumer: integer; kropa: integer; nowyNumer: integer; nowyUrl: string; temp: string; tenUrl := sprawdzUrl(); kropa := pos(tenUrl, ".jpg"); temp := copy(tenUrl, kropa - 2, 2); nowyUrl := copy(tenUrl, 0, kropa - 2) + inc(kropa) + ".jpg"; {chyba można incować string... jak nie to nie wiem co tu zrobić} skoczDoUrl(nowyUrl); Link do komentarza Udostępnij na innych stronach More sharing options...
Adam27 Napisano Kwiecień 7, 2010 Zgłoś Share Napisano Kwiecień 7, 2010 Oto kod JS, jeżeli Cię dobrze zrozumiałem to powinien być poprawny. var url=window.location.href; //pobierz url var numer=parseInt(url.substr(url.indexOf('.jpg')-2,2)); //wyciągnij dwa ostatnie znaki przed rozszerzeniem i spróbuj zamienić na liczbę if (numer>0) { //jeżeli prawidłowa liczba numer++; //zwiększ ją var newUrl=url.substr(0,url.length-6)+numer+'.jpg'; //utwórz nowy url window.location.href=newUrl; //i przejdź do niego } Pozdrawiam Etharnion - 2D RPG Szukam grafika chętnego do współpracy przy projekcie. Link do komentarza Udostępnij na innych stronach More sharing options...
Przemek Snowball Napisano Kwiecień 8, 2010 Autor Zgłoś Share Napisano Kwiecień 8, 2010 Wielkie dzięki! Przeanalizowałem to, co napisałeś. Twój kod ma problem z jednym przypadkiem - co z plikiem pic02.jpg? Twój kod przejdzie na podstawie takiego URLa do pliku pic3.jpg. Jednak na podstawie tego kodu (plus krótkiej lektury składni JS) zbudowałem kod działający i w takiej sytuacji, niezależnie jak wiele liczb jest w nazwie pliku i bez względu na rozszerzenie. Należy Ci się jednakowoż wzmianka w credits Problem jednak pojawił się w innym miejscu. Nie orientuje się ktoś z użytkowników, czy Chrome pozwala na używanie i modyfikację window.location.href? Czy obowiązkowe jest formułowanie tab.url i zmiana tego przy pomocy chrome.tabs.update()? Bo jakoś wtyczka nie chce działać (mimo, że kod przetestowany był jako osobny skrypt) - czyli gdzieś musi być błąd... EDIT (8.4.2010 18:11): Te rozszerzenia do Chroma to dziwna rzecz jest. Mimo wszystko wtyczkę ukończyłem, wszystko działa tak jak powinno. Odpowiem sam sobie i potencjalnym zainteresowanym (kosztowało mnie dowiedzenie się tego kilka razy po regulaminowe 15 minut, że tak popiszę się jego znajomością ) na pytanie o href w chromie: nie można stosować do znalezienia obecnego położenia sformułowania window.location.href. Koniecznie należy używać poleceń z API chroma, tutaj byłoby to Tabs API i właściwość tab.url. Wtyczka dostępna jest pod tym adresem. Link do komentarza Udostępnij na innych stronach More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.