SVG: открыть (Xlink: HREF) другое изображение SVG в текущем кадре - кросс браузер кошмар? - PullRequest
0 голосов
/ 13 сентября 2011

Я уже некоторое время ломаю голову над этой проблемой, и я надеялся на некоторую помощь / совет.

У меня есть изображение SVG, которое я встроил в iframe (странно, я знаю, но мысоздали наше собственное приложение для панели инструментов / виджетов, и это был самый простой способ перенести нашу существующую инфраструктуру SVG в виджет).Мне нужно, чтобы эти графические ссылки svg были связаны с другими графическими изображениями svg, и мне нужно, чтобы они открывались в том же iframe, что в настоящий момент сводит меня с ума.

Я нашел этот пост, в котором говорится о методахиз ссылок в svg , однако сравнение внизу указывает на то, что невозможно в IE (по крайней мере, 7) открыть ссылку во всем, кроме «текущего окна»».Похоже, это относится ко всему, что я пробовал, но надеялся, что где-то там, в интернете, кто-то нашел способ обойти это.

Вот что я пробовал:

1. <a xlink:href='<path to new embedded graphic>' target='<iframeName>' ... />

Chrome 13: Отлично работает, открывается в правильной рамке! Firefox 6.0.2: Попытки открыть в новой вкладке IE 9.0.8: Попытки открыть в новой вкладке

2. <a xlink:href='<path to new embedded graphic>' xlink:show='replace' ... />

Chrome 13: Заменяет изображение svg на нужный файл, поскольку язаменив его страницей ASP, содержащей встроенную графику SVG, я получаю эффект «вложенный» на своей странице. Firefox 6.0.2: Аналогично Chrome - загружается на месте, но вложение происходит, хотя в FF графика даже не загружается. IE 9.0.8: Аналогично Chrome, загружается на месте, но происходит вложение.

Кажется, что установка целевого кадра - это то, что я хочу сделать, но есть ли способ заставить его работать в FF и IE?Кто-нибудь был успешным с этим?

Еще одна вещь, которую я пытаюсь попробовать, - это установка window.document.location.href фрейма в javascript при нажатии на ссылку.Хотя это сложно сделать, и я действительно пытался только в Chrome.Я надеялся на какой-то совет, прежде чем потратить на это слишком много времени.

1 Ответ

1 голос
/ 15 сентября 2011

Оказывается, что в IE9, Chrome 13 и FF 6 для меня все работало нормально:

<a xlink:href='<path to new embedded graphic>' target='_parent' .../>

Это открывает графическое окно в родительском окне, которое, как оказалось, является моим iFrame.

...