Страница открытия ссылок * поверх * текущей страницы - PullRequest
0 голосов
/ 22 июля 2011

У меня есть веб-сайт (здесь: http://kitandmarcin.us) со ссылками на различные внешние страницы. Пока что все нормально.

Однако, когда кто-то нажимает на ссылку, адресная строка не отображается.не меняются, и для некоторых ссылок он явно рисует поверх текущей страницы (моя страница отображается через прозрачные части целевой страницы).

Я получаю такое поведение в FF5 и Chrome.Структура документа в Chrome (но не FF + firebug) показывает, что элемент встраивания изменяется с содержания SVG на содержимое целевой страницы. Такое поведение отсутствовало ни в более ранних версиях Chrome, ни в FF3 или 4.

Единственный поворот в том, что мои ссылки встроены в SVG, который встроен в страницу.

xhtml, который встраивает svg:

<embed type="image/svg+xml" id="svg2" data="wedding_layout.svg" src="wedding_layout.svg"/>

Фрагмент документа SVG, которыйвстраивает xhtml:

<foreignObject id="foreignObject4221-Gifts" width="225" height="175" x="689.48" y="375" class="body-box">
    <html:body class="body-body" style="text-align: center;width:100%;">
      <html:div style="text-align: center;border-style:none;width:100%;" class="body-cell"> <html:p>Gifts are not expected, but will be gratefully received</html:p><html:p>We have registered with <html:a href="http://www.williams-sonoma.com/registry/2812940/registry-list.html">Williams-Sonoma</html:a> and <html:a href="http://www.jonathanadler.com/giftregs.php?eventid=1421">Jonathan Adler</html:a></html:p>
      </html:div>
    </html:body>
</foreignObject>

Есть ли способ остановить это без использования javascript? Например, можно ли как-нибудь использовать целевое свойство для тегов a?

Если javascript iЭто единственный способ, о чем я должен знать?

Обновление : быстрый тест показывает, что FF5 и Chrome на окнах уважают атрибут target="_top" и загружают ссылки, как ожидаетсяесли это установлено.

Обновление 2 : Это также работает с FF5 на Mac.

Ответы [ 2 ]

1 голос
/ 22 июля 2011

Вы можете использовать target="_parent" или target="_top" во встроенных привязках html, чтобы перейти к ссылке на текущей странице. Это устраняет неожиданное поведение, с которым вы столкнулись.

0 голосов
/ 22 июля 2011

Вы можете использовать target = "_blank", который откроется в другом окне браузера ...

...