#javascript #jquery
#javascript #jquery
Вопрос:
На моей HTML-странице у меня есть:
var e_values = $("a.envelope");
e_values.each(function(index){
$(e_values[index]).attr('href','mail' 'to:' eval($(e_values[index]).attr('eparts')));
})
Когда я нажимаю на это в FF и Chrome, мои почтовые клиенты запускаются и предлагают мне новое электронное письмо с предварительно заполненным адресом электронной почты.
Однако в IE, в дополнение к открытию моего почтового клиента, открывается вторая вкладка только с адресом электронной почты.
Кто-нибудь может сказать мне, почему вторая вкладка открывается только с адресом электронной почты и как предотвратить это?
Спасибо, Эрик
Комментарии:
1. О, и ответ, вероятно, заключается в том, что
eval($(e_values[index]).attr('eparts'))
есть. Можете ли вы опубликовать свой HTML, который показывает этот атрибут? Кроме того, должны следовать пользовательские атрибуты DOMdata-name='value'
: ejohn.org/blog/html-5-data-attributes
Ответ №1:
var e_values = $("a.envelope");
e_values.each(function(){
$(this).attr('href','mailto:' $(this).attr('eparts'));
})
должно быть достаточно — если у вас есть target =»_blank» в ссылках, удалите это тоже
Если IE открывает новый браузер, посмотрите здесь http://www.virtualdub.org/blog/pivot/entry.php?id=52
Вам лучше использовать почтовую программу на стороне сервера, чем полагаться на клиента, имеющего правильно настроенный почтовый клиент
Нет необходимости разделять mailto, поскольку робот не может угадать содержимое jQuery