Открытие ссылки в родительском окне

iFrame — ссылки в родительском окне

Структура следующая
CMS: Joomla 3.2 и сайт сделанный на php — все находиться на одном домене.

Через меню Joomla, вывожу php страницы сайта через «iFrame» используя следующий код

Используя данный код, страницы сайта открываются с подгонкой по высоте содержимого.Но есть проблемы

Проблема №1
При переходе по ссылкам на другие страницы в дочернем окне ( «ифреймомском»), страницы открываются в том же iframe, а хотелось бы чтобы в родительском т.е., чтобы перегружалась главная страница. Как это сделать?
Так как есть сейчас, рождает сразу и другую проблему — высота содержимого уже не меняется (
Т.е. открыв страницу большей длины, а затем меньшей — высота останется от большей длины.

Сам я думаю, что сделав чтобы перегружалась главная страница, проблема уйдет — каждая вновь открытая страница будет подгоняться.

Проблема №2
Как сделать чтобы в адресной строке отображался правильный адрес?!
Сейчас — в адресе только ссылка меню от Joomla, содержимого iframe не отображается.

Как сделать, чтобы ссылки открывались в новом окне или на новой вкладке

Один из посетителей сайта спросил, как открыть ссылку в новом окне HTML . В этой статье я отвечу на данный вопрос.

Что вам потребуется

Посетитель не уточнил, каким редактором пользуется, поэтому будем считать, что он работает напрямую в HTML . Но это не значит, что вы не сможете следовать этой инструкции, если используете для создания сайта какой-либо визуальный редактор. Просто нужно будет получить доступ к разметке страницы. Большинство редакторов и блог-платформ позволяют вручную отредактировать HTML-код .

Например, если вы работаете в Expression Web , можно отредактировать код страницы, переключившись в « Режим кода » ( Code mode ).

Как настроить открытие ссылок в новой вкладке или в новом окне браузера

Короткий ответ: просто добавьте к своим ссылкам (тегу ) атрибут target=»_blank» .

Допустим, что у вас есть следующая ссылка:

Измените её, чтобы она выглядела следующим образом:

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

Обратите внимание, что если вы используете DOCTYPE со строгим синтаксисом XHTML 1.0 или 1.1 , то не получится одновременно использовать приведённый выше код и пройти валидацию страницы. Но подозреваю, что этими стандартами никто не пользуется. « Переходные » версии этих стандартов для открытия в новом окне HTML нам вполне подойдут, и в них также поддерживается атрибут target .

У этого метода не так много плюсов

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

Создавая ссылки, которые открываются в новом окне, вы мешаете пользователям вернуться на сайт. Может показаться, что они без труда вернутся в первое окно с вашим сайтом. Мой опыт показывает, что это не так — людей сбивает с толку неработающая кнопка « Назад ». Они даже не подозревают, что перед ними новая вкладка или новое окно. Когда у них не получается быстро вернуться на предыдущую страницу, они просто сдаются и переходят на другие ресурсы.

С опытными пользователями дела обстоят не лучше. Их очень раздражает « привычка » вашего сайта открывать новые окна без разрешения. На то они и опытные пользователи — если бы они хотели открыть новую вкладку, они бы сделали это сами, и им нисколько не нравится, что это делают без их согласия. Ещё хуже, если все ваши ссылки открываются в новом окне.

Сайт становится уязвим для фишинговых атак

Если вы применяете кнопку HTML открыть в новом окне, используя target=»_blank» , сайт, на который ведёт ссылка, получает доступ к окну/вкладке с вашей страницей и может подменить её содержимое.

Это не только не удержит пользователей на сайте ( если вы открывали новые вкладки именно с этой целью ), но и подвергнет угрозе посетителей. Например, если у вас есть страница входа пользователя, находящийся по ссылке сайт может заменить её на копию вашей, но при этом собирающую логины и пароли пользователей. Такой вид атак называется « фишинг ».

И это не теоретическая уязвимость. Специалисты отдела безопасности Google отметили « значительное количество сообщений » о подобном перехвате вкладок с целью внедрения вредоносного программного обеспечения.

Илон Маск рекомендует:  Язык xml documents type definitions (dtd)

Некоторые браузеры позволяют предотвратить подобное поведение добавлением к ссылке атрибута rel=»noopener noreferrer» . Пример, приведённый в начале статьи, будет выглядеть следующим образом:

Теоретически, как rel=»noopener» , так и rel=»noreferrer» должно быть достаточно, чтобы защититься от подобной атаки при открытии страницы в новом окне HTML . При этом корректнее использовать атрибут rel=»noopener» , так как у rel=»noreferrer» есть побочный эффект — браузер не будет передавать сайту URL источника запроса. Но на данный момент не все браузеры поддерживают атрибут rel=»noopener» . Аналогично, rel=»noreferrer» не поддерживается некоторыми браузерами. Поэтому, если захотите защитить пользователей как можно большего числа браузеров, вероятно, придётся использовать оба атрибута.

Тем не менее, этот приём работает только на актуальных версиях Chrome , Firefox и Safari . Internet Explorer данную функцию не поддерживает, хотя я успел быстро проверить 11 версию IE , и она, вроде бы, защищена от подобной атаки при настройках безопасности, применяемых по умолчанию. Насчёт браузера Microsoft Edge точно сказать не могу.

Другими словами, описанный выше метод нельзя назвать стопроцентной защитой. Лучший способ избежать этой проблемы — использовать нормальные ссылки без атрибута target=»_blank» .

Заключение

Общая рекомендация — по возможности избегать открытия вкладок в новом окне HTML . Конечно, в некоторых случаях этого не избежать. В этой ситуации можно предупредить посетителей сайта о том, что « ссылка открывается в новом окне ». Это не сильно поможет среднестатистическому пользователю и не защитит его от фишинговых атак через ваш сайт, но хотя бы не будет раздражать более опытных пользователей.

Данная публикация представляет собой перевод статьи « How to Make Links Open in a New Window or Tab » , подготовленной дружной командой проекта Интернет-технологии.ру

HTML: Открытие ссылки в новой вкладке

Для того чтобы страница, на которую ведет ссылка, открывалась в новом окне, нужно будет сообщить браузеру имя окна, в котором нужно открыть страницу. Если вы не указываете браузеру использовать какое-то определенное окно, то он откроет страницу в текущем окне.

В таблице приведены все доступные значения для атрибута target.

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

Примечание: если ваш браузер поддерживает вкладки, то ссылки с target=»_blank» будут открываться не в новом окне, а в новом вкладке. В этом случае, если вам требуется, чтобы ссылка открывала именно новое окно, надо воспользоваться языком программирования (например, JavaScript).

Force PDF ссылки внутри фрейма, чтобы открыть в родительском окне

Я пытаюсь осуществить это на страницах Confluence.

В принципе, у меня есть PDF-файл (экспортированный из Powerpoint), который имеет встроенные гиперссылок, поэтому при нажатии на ссылки в PDF открывает любые страницы ссылка есть.

Этот файл PDF открыт в плавающем фрейме на странице Confluence (который создается с помощью пользовательского макроса пользователя).

К сожалению, на Firefox и IE, то PDF ссылки открыть новую страницу в IFRAME, а не родительского окна. встроенный просмотрщик PDF Хрома работает отлично (открытие в родительском окне).

Также, к сожалению, что я не знаю много о JavaScript или HTML. Код, который мы используем в настоящее время для «создания IFRAME» пользовательский макрос в Confluence выглядит следующим образом:

Теперь, большинство это просто сделать с проклейки в IFRAME примерно в файл PDF (по эстетическим причинам).

В основном то, что я хочу знать, как я могу получить какую-либо ссылку с открытия PDF не в IFRAME, но в родительском окне?

Я думал о выполнении операции на окно IFrame разгрузки, что-то вроде

в пределах JavaScript или

в HTML, но я не уверен, куда поместить его или то, что код является то, что мне нужно, чтобы заставить новую страницу передать родительское окно и оказываются там вместо фрейма.

а потому, что зритель PDF отделен от остальной части страницы в IFRAME не похоже на работу.

К сожалению, я новичок в этом, мы сделали получить кого-то, чтобы помочь нам, но он написал код, то не приставал вокруг, чтобы помочь с любыми вопросами, и я только видел мой первый HTML и сегодня JavaScript! Так, пытаясь научиться быстро .

Как заставить ссылку из iframe открываться в родительском окне

Мне нужно открыть ссылку на той же родительской странице, а не открывать ее на новой странице.

примечание: iframe и родительская страница одного и того же домена .

13 ответов

Я обнаружил, что лучшим решением было использование тега base . Добавьте следующее в начало страницы в iframe:

Это загрузит все ссылки на странице в родительском окне. Если вы хотите, чтобы ваши ссылки загружались в новом окне, используйте:

Этот тег полностью поддерживается во всех браузерах.

Использовать целевой атрибут:

Можно использовать любые варианты

в случае только родительской страницы:

, если вы хотите открыть всю ссылку на родительскую страницу или родительский iframe, то вы используете следующий код в разделе заголовка iframe:

ИЛИ

, если вы хотите открыть специфическую ссылку на родительскую страницу или родительский фрейм, тогда вы используете следующий способ:

ИЛИ

в случае вложенного iframe:

Если вы хотите открыть всю ссылку в окне браузера (перенаправить в URL браузера), то вы используете следующий код в разделе заголовка iframe:

ИЛИ

, если вы хотите открыть специальную ссылку в окне браузера (перенаправить в URL браузера), то вы используете следующий способ:

Существует элемент HTML с именем base , который позволяет:

Укажите URL-адрес по умолчанию и цель по умолчанию для всех ссылок на странице:

Указав _blank , убедитесь, что все ссылки внутри iframe будут открыты снаружи.

Илон Маск рекомендует:  Что такое код getdibits

Как уже отмечалось, вы можете использовать целевой атрибут, но он технически устарел в XHTML. Это оставляет вас с использованием JavaScript, как правило, что-то вроде parent.window.location .

Попробуйте target=»_parent» атрибут внутри anchor tag .

Самое универсальное и наиболее кросс-браузерное решение — избегать использования тега «base», а вместо этого использовать целевой атрибут тегов «a»:

Тег менее универсален, и браузеры несовместимы в своих требованиях к его размещению в документе, что требует более кросс-браузерного тестирования. В зависимости от вашего проекта и ситуации, может быть трудно или даже совершенно невозможно достичь идеального размещения в браузере тега .

Выполнение этого с атрибутом target=»_parent» тега не только более удобно для браузера, но также позволяет различать ссылки, которые вы хотите открыть в iframe, и ссылки, которые вы хотите открыть в родительском.

откроет ссылки в новой вкладке / окне. , , откроет ссылки в родительском / текущем окне, не открывая новые вкладки / окна. Don’t_forget_that_underscore!

Если вы используете iframe на своей веб-странице, вы можете столкнуться с проблемой при изменении всей страницы через гиперссылку HTML (тег привязки) из iframe. Есть два решения, чтобы смягчить эту проблему.

Решение 1. Вы можете использовать целевой атрибут тега привязки, как показано в следующем примере.

Решение 2. Вы также можете открыть новую страницу в родительском окне из iframe с помощью JavaScript.

Помните ⇒ target=»_parent» устарел в XHTML, но все еще поддерживается в HTML 5. Икс.

Как заставить ссылки из фрейма будет открыт в родительском окне

November 2020

403.6k раз

Мне нужно открыть ссылку в одной и той же родительской страницы, вместо того, чтобы открыть его на новой странице.

внимание: iframe и родительская страница в том же домене .

13 ответы

Как уже отмечалось, можно использовать целевой атрибут, но это было технически устаревшим в XHTML. Это оставляет вас с помощью JavaScript, как правило , что — то вроде parent.window.location .

Там в HTML элемент , называемый , base который позволяет:

Укажите URL-адрес по умолчанию, и цель по умолчанию для всех ссылок на странице:

Указав _blank вы убедитесь , что все ссылки внутри фрейма будет открыт снаружи.

Использование целевого объекта атрибута:

Самый универсальный и наиболее кросс-браузерный решение, чтобы избежать использования «базовой» метки, и вместо того, чтобы использовать целевой атрибут «а» теги:

Тег менее универсален и браузеры непоследовательны в своих требованиях к его размещению в документе, требует дополнительного тестирования кросс-браузера. В зависимости от вашего проекта и ситуаций, это может быть трудно или даже совершенно невыполнимым для достижения идеального размещения кроссбраузерного в теге.

Если вы используете IFRAME в вашей веб-странице вы можете столкнуться с проблемой при изменении всей страницы через HTML гиперссылка (якорный тег) из фрейма. Есть два решения, чтобы смягчить эту проблему.

Решение 1. Вы можете использовать целевой атрибут тега привязки, как указано в следующем примере.

Решение 2. Вы также может открыть новую страницу в родительском окне из фрейма с помощью JavaScript.

Помните ⇒ target=»_parent» устарел в XHTML, но он по — прежнему поддерживается в HTML 5.x.

Вы можете использовать любые варианты

в случае только родительской страницы:

если вы хотите , чтобы открыть все ссылки в родительской страницы или родительского фрейма, то вы используете следующий код в головной части фрейма:

ИЛИ ЖЕ

если вы хотите , чтобы открыть конкретную ссылку в родительской страницы или родительского фрейма, то вы используете следующим образом:

ИЛИ ЖЕ

в случае вложенного фрейма:

Если хотите открыть все ссылки в окне браузера (перенаправление в браузере URL), то используйте следующий код в головной части фрейма:

ИЛИ ЖЕ

если вы хотите , чтобы открыть конкретную ссылку в окне браузера (перенаправление в браузере URL), а затем использовать следующим образом:

Открытие ссылки в родительском окне

Довольно распространенный вид действий, при работе в интернет-браузере, открытие ссылки, не закрывая текущей страницы (и наверное самый не эффективный с точки зрения понимания информации). Часто бывает так, что когда мы ищем информацию в интернете, мы открываем огромное количество вкладок и окон, зачастую обрастая ими. Это приводит к тому, что дальнейшее восприятие информации становится невозможным. Инструкция сегодня, как раз о том, как открывать ссылки во вкладках и окнах в браузере, и не терять текущей страницы (на случай, если Вы не теряетесь во вкладках и окнах).

Открыть ссылку в новом окне

Хотите открыть ссылку в отдельном окне? Это довольно просто сделать. Удерживайте нажатой клавишу “Shift”, затем щелкните ссылку которую хотите открыть в отдельном окне.

Эта функция дублируется в контекстном меню браузера. Открыть ссылку в новом окне можно нажав по ней правой клавишей мыши и выбрать “Открыть ссылку в новом окне».

Открыть ссылку в новой вкладке

Если Вы хотите остаться в прежнем окне браузера, и открыть в нем дополнительную вкладку, просто наведите курсор на ссылку и нажмите среднюю кнопку мыши. Дополнительная вкладка откроется в том же окне браузера, где вы работали.

Также, как и в предыдущем случае, открытие вкладки заложено в контекстном меню браузера. Просто наведите курсор на ссылку — нажмите правой клавишей мыши — в контекстном меню выберите опцию “Открыть ссылку в новой вкладке”.

Ничего сложного друзья! Также хочу заметить, что эти методы работают во всех основных интернет-браузерах, доступных для Microsoft Windows.

Интернет так разнообразен и порой очень сложен в понимании, поэтому зачастую, если Вы ищете одно, в поисковой выдаче может выпадать несколько другое. Равно как с открытием ссылки в новом окне или вкладке. Кто-то из моих читателей искал именно по этому запросу, намереваясь найти ответ как в браузере открывать ссылки в новых окнах и вкладках, а кто-то мог искать ответ на вопрос, как открывать ссылку в новом окне по нажатии на нее, имея в виду верстку HTML. О том, как что прописывать в HTML, чтобы ссылка открывалась в новом окне я тоже допишу в этой статье, ведь люди ищут, и пусть получат ответ на вопрос.

Илон Маск рекомендует:  Отступы между блоков

Открыть ссылку в новой вкладке или окне html

Итак, Вы вставляете ссылку себе на сайт и хотите, чтобы по нажатию на эту ссылку открытие происходило в дополнительном окне.

Представим, Вы пишите ссылку таким образом:

Чтобы ссылка открывалась так как Вам нужно (в новом окне), необходимо добавить атрибут target=»_blank», и тогда ссылка примет следующий вид, и будет открываться по нажатию в новом окне:

Как заставить ссылки из фрейма будет открыт в родительском окне

Мне нужно открыть ссылку в одной и той же родительской страницы, вместо того, чтобы открыть его на новой странице.

внимание: iframe и родительская страница в том же домене .

Я нашел лучшее решение было использовать базовый тег. Добавьте следующий к главе страницы в IFRAME:

Это позволит загрузить все ссылки на странице в родительском окне. Если вы хотите, чтобы ваши ссылки, чтобы загрузить в новом окне, используйте:

Этот тег полностью поддерживается во всех браузерах.

Использование целевого объекта атрибута:

С помощью JavaScript:

Вы можете использовать любые варианты

в случае только родительской страницы:

если вы хотите , чтобы открыть все ссылки в родительской страницы или родительского фрейма, то вы используете следующий код в головной части фрейма:

ИЛИ

если вы хотите , чтобы открыть конкретную ссылку в родительской страницы или родительского фрейма, то вы используете следующим образом:

ИЛИ

в случае вложенного фрейма:

Если хотите открыть все ссылки в окне браузера (перенаправление в браузере URL), то используйте следующий код в головной части фрейма:

ИЛИ

если вы хотите , чтобы открыть конкретную ссылку в окне браузера (перенаправление в браузере URL), а затем использовать следующим образом:

Как заставить ссылку из iframe открываться в родительском окне

Мне нужно открыть ссылку на той же родительской странице, а не открывать ее на новой странице.

примечание: iframe и родительская страница в том же домене.

Создан 24 июн. 09 2009-06-24 11:43:11 Haim Evgi

13 ответов

Я нашел, что лучшим решением было использовать базу . Добавьте следующий к главе страницы в IFRAME:

Это загрузит все ссылки на странице в родительском окне. Если вы хотите, чтобы ваши ссылки, чтобы загрузить в новом окне, используйте:

Этот тег во всех браузерах fully supported.

Создан 17 апр. 10 2010-04-17 00:52:37 Chris Vasselli

Как этот тарифный кросс-браузер? – Charlie S 23 янв. 12 2012-01-23 20:00:30

кажется багги в IE, возможно, необходимо разместить над другими вещами в начале страницы, см. Http://ow.ly/d6i5Q – dougmacklin 20 авг. 12 2012-08-20 18:53:19

@KristopherIves Спасибо! Я обновил свой ответ ссылкой на документацию SitePoint на совместимость с браузером. – Chris Vasselli 03 ноя. 12 2012-11-03 10:28:58

Если вы используете ‘ ‘, обязательно разместите его перед любой другой ссылкой URL (‘href = src =’ и т. Д.) – sam 18 дек. 13 2013-12-18 22:42:51

Ссылки в HTML

Добавление ссылки

Для перехода по страницам внутри одного сайта обычно используется относительный путь к файлу. Этот вопрос подробно рассмотрен в следующей теме.

Ссылка в новом окне

Ссылка может открываться не только в текущем, но и в новом окне. Для этого у тэга есть атрибут target . Он может принимать следующие значения:

target=»_self» — в текущем окне (по умолчанию)

target=»_blank» — в новом окне

target=»_parent» — в родительском окне

target=»_top» — во всю ширину окна

target= имя фрейма — в окне указанного фрейма

Большинство современных браузеров открывает ссылку не в новом окне, а в новой вкладке. Из за разной работы браузеров разработчики HTML намерены отказаться от атрибута target , и в пятой версии HTML атрибут является невалидным. Но пока многие его используют.

Для примера добавим ссылку, которая открывается в новом окне:

Ссылка в виде картинки

Ссылка на элемент страницы

Ссылка может вести не только на другую страницу, но и на определённый элемент страницы. Для этого нужному элементу нужно указать атрибут id . Значением этого атрибута является текст. У ссылки, которая ведёт к элементу страницы, атрибут href содержит знак «#» и id элемента.

Чтобы показать, как работает ссылка, создадим абзац и добавим ссылку, которая ведёт на него. А между ними вставим большой блок. Я сделаю его с помощью стилей, поэтому Вам в нём не нужно разбираться. Просто скопируйте тэг.

Ссылку на определённый элемент можно сделать не только на текущей странице, но и на новой. Для этого в атрибуте href нужно указать путь к файлу, затем знак # и id нужного элемента.

Состояние ссылок

Когда пользователь только открыл сайт, все ссылки на нём являются непосещёнными. Когда пользователь проходит по какой-то ссылке, браузер запоминает это, и ссылка становится посещённой. Непосещённые ссылки отображаются синим цветом, а посещённые фиолетовым. Кроме того, текст ссылок подчёркнутый. Но всё это можно изменить с помощью CSS. Вид ссылок по умолчанию часто не соответствует стилю сайта. Поэтому ссылкам обычно задают другой стиль.

Коприрование материалов сайта возможно только с согласия администрации

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL