Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][SVG]Jak umieścić zewnętrzny plik z JavaScriptem?
Forum PHP.pl > Forum > Przedszkole
sweter
Witam, mam
taki prościutki plik SVG:
Kod
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
    <svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="1400" height="150">
        <script xlink:href="./public/scripts/svg.js"></script>    
    </svg>

To co widzicie powyżej to jest tylko uproszczony kod (normalny zawiera kilka elementów SVG).
Gdy włączę stronę, która odwołuje się do tego pliku przez <object> to:
- na Operze - ok
- na Firefoxie i Chormie - nie ok sad.gif Pojawia się taki błąd:
Cytat
This page contains the following errors:
error on line 4 at column 26: Namespace prefix xlink for href on script is not defined
error on line 22 at column 63: Namespace prefix xlink for href on a is not defined
Below is a rendering of the page up to the first error.

Czemu pojawiają się takie błędy? Z tego co wygooglowałem wnioskuję, że w poprawny sposób dołączyłem plik .js.
Moglibyście pokazać swoje pliki SVG, w których importujecie JavaScript?

PS: ścieżka do pliku, który chcę podłączyć jest oczywiście poprawna
everth
Spróbuj wywalić prefix xlink przed href lub/i dodać "text/javascript". Osobiście jestem sceptyczny co do tego że to coś da.

Opera posiada najlepsze wsparcie dla SVG wśród przeglądarek, FF takie sobie, co do Chrome to nie wiem. Możliwe że tylko Opera wspiera przekształcanie SVG za pomocą JS. Ten przykład nie działa mi pod Chrome ani pod FF co sugeruje że moja teoria może być prawdziwa. SVG+JS to taki bajer o którym dużo się mówi ale nikt chyba nie widział go w działaniu (nawet Wikipedia rasteryzuje SVG do PNG).

Jak koniecznie chcesz SVG to zrób sobie skrypt który będzie skalował SVG po stronie serwera i na wyjściu dawał PNG (za pomocą ImageMagick).
sweter
PNG, nie odpowiada mi, bo to będą za duże pliki...
A co myślicie o VML? Jak jest wspierane przez przeglądarki?
everth
Nie słyszałem o VML (rekonesans na wiki mówi mi że to jakiś poprzednik SVG) - możliwe że da się jakoś bezproblemowo przekształcać jedno w drugie i serwować w zależności od przeglądarki. Ale dalej nie widzę sensu stosowania tego - PNG nie jest duże jeśli ograniczysz liczbę kolorów (przekształcasz z SVG, tam raczej nie używa się całej palety).

Nie wiem do czego to svg ma ci być potrzebne, ale może Canvas okaże się dla ciebie przydatne, jest w miarę dobrze zaadaptowane przez przeglądarki, a i w sieci można znaleźć pluginy JS które ułatwiają z nimi zabawę.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.