2009-11-04 1 views
4

По какой-то причине в IE (IE8 в Win 7, если быть точным), когда я нажимаю на ссылку mailto, я заканчиваю тем, что текущая страница заменяется пустой страницу с mailto в адресной строке.mailto вызывает пустую страницу в IE8 при использовании с Dojo

В частности, это то, что происходит, когда я нажимаю ссылку электронной почты:

  1. Новое о: пустая вкладка открывается и подсказка безопасности всплывает спрашивать, если я хочу, чтобы открыть Outlook. На данный момент, похоже, что исходная вкладка все еще показывает исходную страницу.
  2. Когда я нажимаю «Разрешить» или «Не разрешать», новая вкладка закрывается, а исходная страница перезагружается с помощью mailto в адресной строке.

Если я прокомментирую ссылку dojo.xd.js, она работает должным образом.

Firefox и Chrome просто открывают новое окно сообщений Outlook. Также тестируется и работает в Windows XP и IE7.

Код для репликации проблемы является:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    "http://www.w3.org/TR/html4/loose.dtd"> 
     <HTML> 
     <HEAD> 
      <TITLE>mailto test</TITLE> 
     <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/dojo/1.3.2/dojo/dojo.xd.js" djConfig="parseOnLoad: true"></script> 
     </HEAD> 
     <BODY> 
      <a href="mailto:[email protected]">mailto</a> 
     </BODY> 
     </HTML> 
+0

Пожалуйста, дайте мне знать, если он работает или не работает в других комбинациях браузера/os. –

+0

У меня тоже есть эта проблема. Не с Dojo, но почему-то на нашем сайте любой javascript, подключенный к телу onunload, вызывает это. Если мы удалим onunload, он отлично работает. Firefox отлично работает, но IE 8 не работает. – daustin

ответ

-1

Ваш доктайп не является полным ... изменить его к этому:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    "http://www.w3.org/TR/html4/loose.dtd"> 
+0

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

-1

Если создать скрытый IFRAME с именем = "foo", затем поместите target = "foo" в тег для ссылки, чтобы избежать проблемы.

+0

нет, не мог заставить это работать. Кажется, он устанавливает URL-адрес верхнего уровня. –

-2
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> 
+0

нет, это не исправляет. –

-1

По какой бы то ни было причине это работает сейчас для меня.

10

Здравствуйте, я также изучал эту проблему, и она сводится к расширенным настройкам безопасности в ie8. Проблема - так называемый защищенный режим. Смешно, если у вас есть страница с ссылкой mailto, которая отключила защищенный режим, и у вас есть ссылка mailto и защищенный режим для Интернета, вы столкнулись с этой проблемой. IE пытается запустить защищенный режим и выполняет обновление страницы, делая это против: blank перед запуском почтового клиента. После этого он пытается перенаправить на исходную страницу и чаще всего терпит неудачу, чем может восстановить страницу. В настройках по умолчанию вы также получаете предупреждение о безопасности, которое вы можете отключить с помощью флажка. Все это приводит к ошибке, чтобы получить ссылку mailto в защищенном режиме или отключить защищенный режим целиком или перетащить вашу почтовую страницу в защищенный режим. Проблема с nastier даже в том, что вы не можете подстановочные ссылки на все ссылки mailto, и если вы добавите общий шаблон wildcard ala * .example.com, то почтовый адрес mailto: [email protected] все еще не распознается как часть доверенного домена. Итак, я не уверен, какая стратегия лучше всего исправить, лучше всего, возможно, Microsoft установит свою систему подстановки в домене в настройках Интернета, которая по-прежнему такая же, как в IE.

0

Не могли бы вы отладить это локально на вашем компьютере или это проблема на сайте, который находится в Интернете? Если вы отлаживаете этот сайт локально, эта проблема возникает из-за того, что сайт находится в зоне «Местная интрасеть» в IE, а ссылка mailto находится в «зоне Интернета». IE не нравится. Ознакомьтесь с этой ссылкой о проблеме. MS Article. Эта проблема будет волшебно уходить после публикации сайта в Интернете.

0

У нас была такая же проблема, что и защита защищенного режима устраняет проблему. Кроме того, проблема с сокращением содержимого ссылки mailto до менее 500 символов устраняет проблему.

+1

Добро пожаловать в SO. Я не уверен, как это отвечает на заданный вопрос. Я уверен, что OP хочет, чтобы этот mailto был доступен для пользователей своего сайта, а их ссылка mailto меньше 20 символов ... Нигде рядом с проблемой 500 символов вы не предложили. Согласно OP, ошибка, похоже, связана с файлом dojo.xd. Есть ли у вас предложения по исправлению этого? – Enigmadan

+0

@ Энигмадан - не будь педантичным. Он сделал прекрасную попытку решить проблему, предложив, чтобы Protected Mode мог ее решить (как это было в его случае). –

Смежные вопросы