Открытие ссылок за пределами iframe [дубликат]

он работал для меня на 000webhost, выполнив следующие действия:

$headers  = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1" . "\r\n";
$headers .= "From: ". $from. "\r\n";
$headers .= "Reply-To: ". $from. "\r\n";
$headers .= "X-Mailer: PHP/" . phpversion();
$headers .= "X-Priority: 1" . "\r\n"; 

Введите адрес электронной почты при отправке электронной почты

mail('email@gmail.com', $subject, $message, $headers)

Используйте '', а не ""

Этот код работает, но письмо было получено с задержкой в ​​полчаса

313
задан luchaninov 15 May 2016 в 12:12
поделиться

13 ответов

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

<base target="_parent">

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

<base target="_blank">

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

543
ответ дан Chris Vasselli 21 August 2018 в 16:06
поделиться
  • 1
    Как этот тарифный кросс-браузер? – Charlie Schliesser 23 January 2012 в 22:00
  • 2
    кажется ошибкой в ​​IE, возможно, необходимо разместить над другими вещами в начале страницы, см. ow.ly/d6i5Q – dougmacklin 20 August 2012 в 19:53
  • 3
    @Wilf Я был не совсем прав:;) <base target> должен появиться перед любым <a href>, поскольку он устанавливает контекст просмотра по умолчанию для следующих ссылок; <base href> должен появиться перед любой ссылкой URL (<* href> <* src> <form action> <object data> ...), поскольку он устанавливает базовый URL-адрес, по которому разрешены относительные URL-адреса. – sam 14 June 2014 в 20:08
  • 4
    почему вы ответили на этот вопрос в год после , я ответил на него с тем же самым ответом? но вас выбрали. это так странно. – vsync 20 August 2014 в 09:22
  • 5
    – Chris Vasselli 21 August 2014 в 00:54
  • 6
    Обратите внимание, что тег <base не имеет закрытия в соответствии со спецификацией w3.org/TR/html5/document-metadata#the-base -element , поэтому он должен быть <base target="_parent" > – Mark Schultheiss 17 March 2017 в 13:31

Попробуйте target="_top"

<a href="http://example.com" target="_top">
   This link will open in same but parent window of iframe.
</a>
0
ответ дан Aamir Shahzad 21 August 2018 в 16:06
поделиться

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

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

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

<base target="_parent" />

ИЛИ

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

<a target="_parent" href="http://specific.org">specific Link</a>
<a  href="http://normal.org">Normal Link</a>

ИЛИ

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

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

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript">
    $(window).load(function(){
        $("a").click(function(){
            top.window.location.href=$(this).attr("href");
            return true;
        })
    })
</script>

ИЛИ

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

<a  href="http://specific.org"   target="_top" >specific Link</a>

или

<a  href="javascript:top.window.location.href='your_link'">specific Link</a>
<a  href="javascript:top.window.location.href='http://specific.org'">specific Link</a>
<a  href="http://normal.org">Normal Link</a>
20
ответ дан Ahosan Karim Asik 21 August 2018 в 16:06
поделиться
  • 1
    Хороший ответ, мне нужно было просто использовать его для определенной ссылки, но в принятом ответе описывается, как изменить цель для всех ссылок на странице. благодаря – dading84 6 June 2017 в 10:52

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

<a target="_parent" href="http://www.stackoverflow.com">Stack Overflow</a>

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

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

4
ответ дан chrishasbrouck 21 August 2018 в 16:06
поделиться

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

7
ответ дан Konga Raju 21 August 2018 в 16:06
поделиться
  • 1
    я пробую это, открыт в новом окне – Haim Evgi 24 June 2009 в 12:52
  • 2
    Попробуйте target = & quot; _top & quot ;. Iframe может содержать вложенные iframe? Или фактическая ссылка открыта javascript на событии onclick? – Gee 24 June 2009 в 13:44
  • 3
    Я пробовал это, но был открыт в новом окне – Haim Evgi 24 June 2009 в 14:07

<a target="parent"> откроет ссылки в новой вкладке / окне ... <a target="_parent"> откроет ссылки в родительском / текущем окне, не открывая новые вкладки / окна. Don't_forget_that_underscore!

3
ответ дан krisjd 21 August 2018 в 16:06
поделиться

С JavaScript:

window.parent.location.href= "http://www.google.com";
31
ответ дан Nikola K. 21 August 2018 в 16:06
поделиться

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

<a target="_parent" href="http://url.org">link</a>
132
ответ дан nnevala 21 August 2018 в 16:06
поделиться
  • 1
    я пробую это, открыт в новом окне – Haim Evgi 24 June 2009 в 12:52
  • 2
    +1 от меня, базовая цель = "_parent" работает, но target = "_parent" никогда не терпел неудачу для меня! – user 14 March 2012 в 07:18
  • 3
    он работает для SVG! – Rustam 22 June 2012 в 12:28
  • 4
    target="_blank" работает также – MaxV 11 July 2014 в 14:37
  • 5
    <base target="_blank"> в порядке, но здесь речь идет о одной ссылке, а не об изменении поведения всех ссылок на iframe. Для меня это правильный ответ. – kriskodzi 4 February 2015 в 11:57

Я нашел

<base target="_parent" />

Это полезно для открытия всех ссылок iframe, открытых в iframe.

И

$(window).load(function(){
    $("a").click(function(){
        top.window.location.href=$(this).attr("href");
        return true;
    })
})

Это мы можем использовать для целую страницу или определенную часть страницы.

Спасибо за вашу помощь.

0
ответ дан Ratan Paul 21 August 2018 в 16:06
поделиться

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

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

<a target="_parent" href="http://www.kriblog.com">link</a>

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

<a href="#" onclick="window.parent.location.href='http://www.kriblog.com';">

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

Подробнее можно прочитать по следующей ссылке http://www.kriblog.com/html/link-of-iframe-open-in-the-parent-window.html

1
ответ дан Roland Krüger 21 August 2018 в 16:06
поделиться

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

8
ответ дан Ryan McGrath 21 August 2018 в 16:06
поделиться
   <script type="text/javascript"> // if site open in iframe then redirect to main site
        $(function(){
             if(window.top.location != window.self.location)
             {
                top.window.location.href = window.self.location;
             }
        });
    </script>
0
ответ дан sandeep kumar 21 August 2018 в 16:06
поделиться

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

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

<base target="_blank" />

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

9
ответ дан vsync 21 August 2018 в 16:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: