Comment faire un lien incorporé dans un fichier SVG ouvrir dans la fenêtre principale, et non pas dans un objet distinct
J'ai un fichier SVG (généré par Graphviz) qui contient l'URL des liens. Je voudrais que ces liens soient cliquables. J'ai d'abord essayé
<img src="path/to/my.svg"/>
qui affiche l'image amende, mais les liens ne sont pas cliquables. Modification de l'objet:
<object data="/path/to/my.svg" type="image/svg+xml">
rend les liens cliquables, mais lorsque l'utilisateur clique sur eux, la nouvelle page s'ouvre à l'intérieur de l'objet. Est-il possible que je peux faire les liens s'ouvrent dans la fenêtre principale?
C'est à l'aide de firefox 5.0, mais s'il y a des croix-navigateur différences de vous connaître je vous serais reconnaissant de l'attention!
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, si vous incorporez SVG comme
<img>
, navigateurs ne pas ouvrir les liens, ainsi qu'ils l'habitude d'exécuter des scripts à l'intérieur de<img>
, parce que, eh bien, vous intégrez une image, et très probablement, votre image peut apparaître à l'intérieur d'un<a>
, et vous ne pouvez pas mettre les liens dans les liens.Et de faire des liens s'ouvrent dans de nouveaux onglets, vous pouvez utiliser le
target
attribut, comme dans le HTML, ou xlink spécifiquesxlink:show
attribut avec la valeurnew
. Le SVG spec dit suivantes:Et les valeurs de la
target
attribut peut être:Ainsi, dans votre SVG vous avez besoin d'écrire comme suit:
Mais actuellement tous les navigateurs capables de montrer le support SVG deux
xlink:show
ettarget
attributs (je ne l'ai pas testé dans IE9 tout de même).target='_top'
à mon Graphviz HTML étiquette donne le résultat que je cherchais.<base target="_blank" />
à votre<head>
élément et tous les liens dans le document s'ouvrira dans un nouvel onglet. Devrait aider si vous incorporez SVG dans une iframe HTML.