Вопрос по – target = _blank не работает в IE8, параллельно запуская IE (я запускаю пакет IE через VirtualBox)

1

IE8 иногда будет препятствовать появлению ссылок, если у них установлен target = _blank.

Эта проблема, по-видимому, ограничивается поврежденной установкой IE, например, при одновременной установке нескольких версий.

Я отредактировал этот вопрос, как только нашел ответ, и, надеюсь, это сэкономит кому-то еще время. Ответ в комментариях к первому ответу в списке.

Хорошая идея, я изменил это. Andrew Johnson
Какая огромная коллекция неправильных ответов ... Более того, дети XHTML 1.1 считают, что использование _target = blank через javascript - это верный взлом. Если браузер подразумевает XHTML 1.1only Вы ожидаете, что это не сработает. Evan Carroll
Может быть полезно перефразировать вопрос, чтобы указать, что это проблема при попытке запустить IE бок о бок. EricLaw

Ваш Ответ

5   ответов
3

какой автономный IE8 вы используете. Я обнаружил, что это проблема при использовании & quot; сайта окончательной сборки - коллекция Internet Explorer & quot; (http://finalbuilds.edskes.net/iecollection.htm) версия 1.6.0.3. Разработчик исправил эту ошибку с версии Ver. 1.6.0.4 и ссылки с target = & quot; _blank & quot; сейчас работаю как положено.

-1

Если вы не хотите продолжать использовать window.open везде, вы можете использовать rel = & quot; external & quot; и некоторые дополнительные Javascript, такие как следующие, с использованием JQuery:

$(document).ready(function() {
    $("a[rel='external']").attr("target","_blank");
});

РЕДАКТИРОВАТЬ: Чтобы установить все сгенерированные ссылки:

 $("a[rel='external']").ready(function() { 
    $("a[rel='external']").attr("target","_blank");
 });

Или без jQuery вы можете использовать скрипт,нашел здесь:

function externalLinks() { 
 if (!document.getElementsByTagName) return; 
 var anchors = document.getElementsByTagName("a"); 
 for (var i=0; i<anchors.length; i++) { 
   var anchor = anchors[i]; 
   if (anchor.getAttribute("href") && 
       anchor.getAttribute("rel") == "external") 
     anchor.target = "_blank"; 
 } 
} 
window.onload = externalLinks;
Error: User Rate Limit Exceeded Andrew Johnson
Error: User Rate Limit Exceeded Andrew Johnson
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
0

что на этот вопрос уже дан ответ, но я просто хотел рассказать о функциональности привязки в реальном времени в jQuery:

$("a.myclass").live("click",function() {
    $(this).attr("target","_blank");
});

В этом примере устанавливается «target =» _blank «quot;» приписывать любую ссылку с классом «myclass», даже те, которые созданы с помощью Javascript.

-1

target='blank' ? Я знаю, что это не то же самое, но вы откроете всплывающее окно / окно в новом экземпляре, и ваш сайт может пройти проверку на строгий режим XHTML :)

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Andrew Johnson
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Andrew Johnson
-2

_blank & quot; недопустимо в строгом режиме XHTML. Увидеть:

http://www.8164.org/xhtml-strict/

Следующее должно работать во всех случаях.

<script>window.open("http://www.80vul.com/test/ie8-1.htm");</script>

Я предполагаю, что в IE8 Beta 1 режим по умолчанию теперь STRICT, а не TRANSITIONAL.

Error: User Rate Limit Exceeded Andrew Johnson
Error: User Rate Limit Exceeded Andrew Johnson
Error: User Rate Limit Exceeded
debugtheweb.com/test/strict.htmError: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Andrew Johnson

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