Документ с фреймами

Why does a target attribute set to «_top» or «_parent» opens up in a new tab

I’ve set the following links (found on DEMO) to open in the same tab by using the «_top» target (tried «_parent» as well, but for some reason they keep opening in a new tab. I’ve tried different browsers, and different devices but it still happens.

$(document).ready(function() < // for slide-out menu $('.js-nav').click(function() < $(this).parent().find('.menu').toggleClass('active'); if ($(this).find('i.fa').hasClass('fa-bars')) < $(this).find('i.fa').removeClass('fa-bars').addClass('fa-times'); >else if ($(this).find('i.fa').hasClass('fa-times')) < $(this).find('i.fa').removeClass('fa-times').addClass('fa-bars'); >>); >);
html, body < width: 600px; height: 50px; >.toggle-nav < margin: auto 0 auto 0; float: left; color: #423c4c; >.toggle-nav:hover < color: #423c4c; >.nav-wrap < overflow: hidden; >.menu < float: left; visibility: hidden; position: relative; right: 100%; transition-duration: 5s; -webkit-transition-duration: 5s; >.menu.active < visibility: visible; right: 0px; transition-duration: 1s; -webkit-transition-duration: 1s; >.menu ul < text-align: justify; min-width: 400px; margin: 0 auto; padding-right: 20px; >.menu ul:after < content: ''; display: inline-block; width: 100%; >.menu ul li < margin-top: 2%; display: inline-block; text-align: center; text-transform: uppercase; font-family: 'Alef', sans-serif; font-size: 13px; color: #423c4c; >.menu ul li a:link < color: #423c4c; text-decoration: none; >.menu ul li a:visited < color: #423c4c; text-decoration: none; >.menu ul li a:hover < text-decoration: none; background-color: #fce2e2; ; color: red; > .menu ul li a:active < color: #423c4c; >.menu ul li ul < display: inline-block; position: absolute; right: 272px; top: 25px; >.menu ul li ul li

We use target _top for iframe, If you are usign iframe and want all click open in parent tab then you can use _top otherwise no need to use it.

Читайте также:  Чистая архитектура android kotlin

did you try removing target ? default is to open in same tab when link is in main page and not in a frame

3 Answers 3

Your problem stems from the presence of the sandbox attribute on the iFrame used by JSFiddle and other such sites including StackOverflow’s StackSnippets.

Your code works when stand alone like here

By having the attribute set but NOT having the allow-top-navigation set, it is not allowed to break out of the frame except to a new window/tab

  • allow-forms: Allows the embedded browsing context to submit forms. If this keyword is not used, this operation is not allowed.
  • allow-modals: Allows the embedded browsing context to open modal windows.
  • allow-orientation-lock: Allows the embedded browsing context to disable the ability to lock the screen orientation.
  • allow-pointer-lock: Allows the embedded browsing context to use the Pointer Lock API.
  • allow-popups: Allows popups (like from window.open, target=»_blank», showModalDialog). If this keyword is not used, that functionality will silently fail.
  • allow-popups-to-escape-sandbox: Allows a sandboxed document to open new windows without forcing the sandboxing flags upon them. This will allow, for example, a third-party advertisement to be safely sandboxed without forcing the same restrictions upon a landing page.
  • allow-presentation: Allows embedders to have control over whether an iframe can start a presentation session.
  • allow-same-origin: Allows the content to be treated as being from its normal origin. If this keyword is not used, the embedded content is treated as being from a unique origin.
  • allow-scripts: Allows the embedded browsing context to run scripts (but not create pop-up windows). If this keyword is not used, this operation is not allowed.
  • allow-top-navigation: Allows the embedded browsing context to navigate (load) content to the top-level browsing context. If this keyword is not used, this operation is not allowed.
Читайте также:  Принадлежность точки полигону python

Источник

Фреймы

Фреймы – это прямоугольные области экрана, каждая из которых содержит свой собственный html-документ. Фреймы использовались для оформления следующих документов:

  • Оглавление. Если вы поместите на Web-страницу оглавление в виде вертикального столбца, то пользователь сможет обратиться к нему в любой момент, и ему не нужно будет постоянно щелкать на кнопке возврата к предыдущей странице. Поскольку, находясь во фрейме, оглавление всегда будет под рукой, пользователю нужно будет просто выбрать другой его пункт и сразу же получить нужную информацию.
  • Неподвижные элементы интерфейса. Можно зафиксировать на экране какое-то графическое изображение, например, логотип фирмы, в то время как остальная часть страницы будет прокручиваться в другом фрейме.
  • Формы и результаты. Можно создать форму в одном фрейме, а в другом отобразить результаты запроса.

Обычные фреймы на данный момент считаются устаревшей технологией и не поддерживаются в HTML5. Не используйте обычные фреймы в своих проектах! В HTML5 тегов frame, frameset и noframes уже просто нет, вместо них предусмотрен один единственный тег iframe (встроенный или плавающий фрейм).

Тег

Тег заменяет тег и используется для разделения экрана. Имеет закрывающий тег.

Атрибуты тега

cols Делит экран по вертикали. Принимает значения в пикселях, в процентах или просто *. Значение * говорит о том, что конкретный столбец будет занимать всю остальную часть экрана rows Делит экран по горизонтали. Принимает значения в пикселях, в процентах или просто *. Значение * говорит о том, что конкретная строка будет занимать всю остальную часть экрана frameborder Определяет наличие рамок, т.е. границ фреймов. Принимает значения «yes» или «no» border Ширина рамки в пикселях bordercolor Цвет рамок. По умолчанию (если используется стандартная цветовая схема системы Windows) границы фреймов имеют тусклый, серый оттенок. Но при желании можно выбрать любой другой цвет. При определении цвета можно выбрать как его название, так и числовой эквивалент в системе RGB. Например, blue или #0000ff

В отдельном теге имеет смысл использовать только один из атрибутов – cols или rows. Это означает, что фреймовая структура будет состоять или только из столбцов, или только из строк. Чтобы создать строки внутри столбцов или столбцы внутри строк, вам потребуется вложенные контейнеры .

Пример

Используя сразу оба атрибута – и cols, и rows в одном теге , вы не сможете получить такое разбиение экрана.

Источник

Атрибут target

Атрибут target (от англ. «target» ‒ «цель, мишень») указывает место (фрейм или окно браузера) в которое должен быть загружен, указанный в гиперссылке документ.

Условия использования

Для загрузки указанного (в параметре « href ») документа в определённый фрейм, гиперссылке с помощью параметра « target » задаётся уникальное имя фрейма. Уникальное имя фрейма присваивается фрейму с помощью параметра « name ».

Поддержка браузерами

Спецификация

Верс. Раздел
HTML
2.0 Anchor: A
3.2 The A (anchor) element
4.01 16.3 Specifying target frame information
target = frame-target [CI].
DTD: Transitional Strict Frameset
5.0 4.8.1 Links created by a and area elements
The target attribute.
5.1 4.8.2. Links created by a and area elements
The target attribute.
XHTML
1.0 Extensible HyperText Markup Language
DTD: Transitional Strict Frameset
1.1 Extensible HyperText Markup Language

Значения

В качестве значения указывается уникальное имя фрейма или ключевое слово.

_blank Открывает документ в новом окне. _self Открывает документ в том же фрейме или окне, в котором расположена гиперссылка. _parent Открывает документ в родительском фрейме (если таковой имеется). Если родительский фрейм отсутствует, то документ открывается в текущем окне. _top Открывает документ в текущем окне. <имя-фрейма>Открывает документ в фрейме с указанным уникальным именем.

Значение по умолчанию: « _self ».

Источник

HTML Атрибут target

Атрибут target (от англ. «target» — «цель, мишень») указывает место (фрейм или окно браузера) в которое должен быть загружен, указанный ресурс.

Для элемента определяет имя фрейма, в котором будут открываться все ссылки.
Действие target в качестве атрибута элемента распространяется на все ссылки документа, кроме ссылок в которых это действие переопределяется собственными атрибутами target .

Для элемента определяет указывает место (фрейм или окно браузера) в которое должен быть загружен ответ сервера (результат отправки данных формы).

Синтаксис

Значения

_blank Загружает страницу в новую вкладку браузера. _self Загружает страницу в текущую вкладку. _parent Загружает страницу во фрейм-родитель; если фреймов нет, то это значение работает как _self . _top Отменяет все фреймы и загружает страницу в полном окне браузера; если фреймов нет, то это значение работает как _self .

Значение по умолчанию

Применяется к тегам

Отличия HTML 4.01 от HTML 5

В HTML 4.01 атрибут считался устаревшим и не рекомендован к использованию, в HTML 5 он полностью поддерживается.

Примеры использования:

Атрибут target (Элемент )

Пример HTML:

Открыть пример в фрейме

Атрибут target (Элемент )

Пример HTML:

 Карта изображений  

Источник

Фреймы

Фреймы — это HTML-элементы, позволяющие разделить окно веб-браузера на несколько независимых окон, в каждое из которых можно загрузить отдельный HTML-документ. Каждое такое окно (фрейм) может иметь собственные полосы прокрутки и функционировать независимо от других независимых окон либо наоборот управлять их содержанием. Они могут применяться для организации постоянно находящегося в одном окне меню, в то время как в другом окне располагается непосредственно сама информация. Пользователи могут обращаться к меню в любой момент, и им не нужно возвращаться к предыдущей странице, чтобы выбрать другой пункт меню. Применение фреймов позволит вам «закрепить» в окне браузера изображения или другие неподвижные по замыслу элементы интерфейса, в то время как остальная часть страницы будет прокручиваться во фрейме.
Однако, стоит отметить, что в наши дни фреймы считаются устаревшим средством, а сайты с фреймами теперь считаются несолидными, так как профессиональные веб-мастера никогда не используют фреймы в своих проектах. С фреймами связан целый ряд печально известных проблем. Они, например, сбивают с толку поисковые машины, поскольку на страницах, которые содержат контент, нет ссылок на другие документы. Если вы хотите получать посетителей с поисковых систем, забудьте о фреймах. Понравившуюся страницу пользователю невозможно поместить в раздел закладки браузера, так как фреймы скрывают адрес страницы, на которой он находится, и всегда показывают только адрес веб-сайта. По этой причине они создают проблемы для браузеров при отслеживании хронологии и еще они не слишком приспособлены для разных размеров экранов и мобильных устройств.
Несмотря на то, что проекты с фреймами встречаются во всемирной паутине все реже, изучение HTML было бы неполным без рассмотрения темы о фреймах. У фреймов наряду с недостатками есть и некоторые достоинства, которые не позволяют отбросить эту технологию как бесперспективную.

Создание фреймов

Структура HTML-документа с фреймами внешне очень напоминает формат обычного HTML-документа. Как и в обычном HTML-документе, весь код помещен между парными тегами и , а в контейнере располагаются заголовки. Основное отличие документа с фреймами от обычного HTML-документа — у документа с фреймами вместо тега применяется парный тег (от англ. frame set – набор фреймов).
В следующем примере приведена структура HTML-документа с фреймами:

Пример: Структура HTML-документа с фреймами

 

<p>Ваш браузер не отображает фреймы</p>
  • rows — описывает разбиение страницы на строки:
  • cols — описывает разбиение страницы на столбцы:

В значении атрибутов rows и cols необходимо указывать не количество строк или столбцов, а значение ширины и высоты фреймов. Все значения в списке разделяются запятыми. Размеры могут быть указаны в абсолютных единицах (в пикселах) или в процентах:

  • cols=»20%, 80%» — окно браузера разбивается на две колонки с помощью атрибута cols, левая колонка занимает 20%, а правая 80% окна браузера.
  • rows=»100, *» окно браузера разбивается на два горизонтальных окна с помощью атрибута rows, верхнее окно занимает 100 пикселов, а нижнее — оставшееся пространство, заданное символом звездочки.

Как видно из данного примера, контейнер с атрибутом rows вначале создает два горизонтальных фрейма, а вместо второго фрейма подставляется еще один , который разбивает нижний горизонтальный фрейм на две колонки с помощью атрибута cols, левая колонка занимает занимает 20%, а правая 80% окна браузера.
Если браузер не поддерживает фреймы, то в окне будет отображен текст, расположенный между тегами и . Все, что находится между тегами и , игнорируется браузерами, поддерживающими фреймы. Таким образом разработчику нужно написать код, дублирующий содержимое фреймов другими средствами, и поместить этот код в контейнер , тогда все пользователи смогут увидеть его веб-страницу.
Как уже отмечалось, для вставки в документ отдельного фрейма служит непарный тег . Атрибут src задает документ, который должен отображаться внутри данного фрейма, например: . Если атрибут src отсутствует, отображается пустой фрейм.

Границы или пространство между фреймами

По умолчанию, браузер отображает серую и, как правило, в виде трехмерной линии границу между фреймами, с помощью которой посетители могут регулировать размер фрейма.
Границей фрейма можно управлять, как и любыми другими элементами фрейма. Для этого существует несколько атрибутов элемента , позволяющих настраивать границы фреймов. Толщина линии границы определяется атрибутом border. По умолчанию значение толщины границы равно пяти.
Чтобы скрыть границу фрейма, необходимо либо указать значение ширины границы равным нулю, либо присвоить значение «no» или «0» атрибуту frameborder. Атрибут frameborder может принимать только два противоположных значения. Если значение атрибута frameborder равно «yes» или «1», то граница фреймов будет отображаться, а если «0» или «no», то нет. Учтите, что значения атрибута frameborder различаются для разных браузеров. Чтобы решить эту проблему используйте дважды атрибут frameborder, а для некоторых браузеров требуется еще добавить атрибут framespacing со значением «0»:

В следующем примере убираем границу между фреймами:

Источник

Оцените статью