» » » Как открыть ссылку в новом окне?

Как открыть ссылку в новом окне?

0
Как открыть ссылку в новом окне?

Не редко бывают случаи, когда необходимо чтобы ссылка открывалась в новом окне. По умолчанию ссылки открываются в том же окне, где они расположены.
И так, приступим. Чтобы любая ссылка открывалась в новом окне, к тегу
<a>
следует добавить атрибут target со значением _blank, как показано в примере 1.

Пример 1. Ссылка в новом окне
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>Ссылки</title>
</head>
<body>
  <p><a href="1.html">Ссылка откроется в этом окне</a></p>
  <p><a href="2.html" target="_blank">Ссылка откроется в новом окне</a></p>
</body>
</html>

Учтите, что при использовании строгого атрибут target осуждается и код с ним не пройдет валидацию. Чтобы в таком случае сделать ссылку для открытия в новом окне и соблюсти корректность кода, одних HTML и CSS недостаточно, поэтому придется обратиться к скриптам. Вначале необходимо как-то выделить ссылки, которые будут открываться в новом окне, например, атрибутом rel со значением external. Этот атрибут кратко описывает ссылку или куда она ведет. Браузеры не воспринимают этот атрибут, но это и не требуется, поскольку мы будем проверять все ссылки через javascript (пример 2). К нужным ссылкам добавляется все тот же target. Но так как это делается программно, то валидатор уловки не заметит.
Пример 2. Открытие ссылки через javascript
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>Ссылка в новом окне</title>
  <script type="text/javascript">
  /* <![CDATA[ */
   function externalLinks() {
    links = document.getElementsByTagName("a");
    for (i=0; i<links.length; i++) {
      link = links[i];
      if (link.getAttribute("href") && link.getAttribute("rel") == "external")
      link.target = "_blank";
    }
   }
   window.onload = externalLinks;
  /* ]]> */
</script>
</head>
<body>
  <p><a href="1.html">Ссылка откроется в текущем окне</a></p>
  <p><a href="2.html" rel="external">Ссылка откроется в новом окне</a></p>
</body>
</html>

Источник: htmlbook.ru
Внимание!
Для просмотра скрытого текста, Вам необходимо Войти или Зарегистрироваться.
  • Полезные статьи
  • 27-11-2010, 13:02
  • 7112
Вернуться назад
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.