Karierę piłkarską Weber rozpoczął w klubie BSK Slavonski Brod i w 1982 roku zaczął występować w jego barwach w trzeciej lidze jugosłowiańskiej. Zawodnikiem tego zespołu był do końca sezonu 1984/1985 i wtedy też odszedł do jednej z czołowych drużyn w Jugosławii oraz ówczesnego zdobywcy Pucharu Jugosławii, Hajduka Split. Przez dwa sezony występował w Hajduku w rozgrywkach pierwszej lidze jugosłowiańskiej. Nie zdołał jednak wywalczyć miejsca w podstawowej jedenastce Hajduka przegrywając rywalizację za takimi zawodnikami jak Zlatko Vujović czy Stjepan Vederić. Przez dwa sezony zdobył dwa gole w 25 rozegranych ligowych meczach. W sezonie 1987/1988 występował w drugoligowymDinamo Vinkovci.
W 1988 roku Weber wyjechał do Belgii i został piłkarzem tamtejszego pierwszoligowcaCercle Brugge. Już w pierwszym swoim sezonie stał się najlepszym strzelcem klubu z Brugii zdobywając 15 goli. W kolejnym zaliczył 12 trafień, a w sezonie 1990/1991 – 20. W sezonie 1991/1992 z 26 golami na koncie został królem strzelców belgijskiej ligi. Rok później jego dorobek wyniósł 31 trafień i tyle samo bramek strzelił w sezonie 1993/1994. W obu tych przypadkach ponownie zostawał najlepszym strzelcem ligowych rozgrywek. Przez sześć sezonów zdobył dla Cercle 136 bramek i stał się drugim najskuteczniejszym zawodnikiem w historii klubu po Marcelu Pertrym.
Latem 1994 Weber został zawodnikiem stołecznegoAnderlechtu. W 1995 roku wywalczył z „Fiołkami” swoje pierwsze i jedyne mistrzostwo Belgii. W trakcie sezonu 1995/1996 doznał kontuzji i rozegrał zaledwie dwa spotkania. W sezonie 1996/1997 także wystąpił tylko dwa razy z powodu urazów i zdecydował się zakończyć piłkarską karierę.
W reprezentacji Chorwacji Weber zadebiutował 5 lipca1992 roku w przegranym 0:1 towarzyskim spotkaniu z Australią podczas tournée reprezentacji po tym kraju. Tam rozegrał także dwa kolejne sparingi z Australijczykami. W 1994 roku Josip otrzymał belgijskie obywatelstwo, a FIFA zezwoliła na występy w tamtejszej reprezentacji, dzięki temu, że spotkania Chorwacji były meczami towarzyskimi. W kadrze narodowej Belgii Weber po raz pierwszy wystąpił 4 czerwca w wygranym 9:0 sparingu z Zambią, w którym strzelił 5 bramek. Został powołany przez selekcjonera Paula Van Himsta do kadry na mundial w USA. Tam podstawowym zawodnikiem i wystąpił w czterech spotkaniach: wygranych po 1:0 z Marokiem i z Holandią oraz przegranych 0:1 z Arabią Saudyjską i 2:3 w 1/8 finału z Niemcami. W kadrze „Czerwonych Diabłów” do końca tamtego roku rozegrał łącznie 8 spotkań i zdobył 6 bramek.