2017-01-18 5 views
2

Нажав на кнопку mailicon.gif button (или набрав ключ «m»), вы открыли стандартную почтовую программу с заполненными полямии Subject:, но это перестало работать.Mailto: via CSS перестали работать лет назад

HTML:

<A HREF="#" class="myMail" accesskey="m"><img src="mailicon.gif"></a> 

CSS:

a.myMail:active {background:url('mailto:[email protected]?subject=Some Feedback');} 

В настоящее время он добавляет только # к URL в браузере-addressline, экран остается неизменным, и больше ничего случается. Как восстановить старое поведение?

+3

Я не понимаю, почему его предполагали, что объявление _layout_ будет определять _interaction_. Куда вы выкопали этот код? Я не верю, что это могло бы работать _ever_ ... – somethinghere

+0

Спасибо за ваши отзывы, но я сожалею, не могу вспомнить, где я нашел эти годы назад (это был какой-то форум в Интернете, а не StackOverflow), и я Я уверен, что он работает. Все еще есть те старые html + css-файлы и хотели использовать их на моем обновленном веб-сайте. –

+0

Не пытайтесь, это кажется очень плохим, если он даже работает. Вместо этого используйте ответ @dominictobias. Это имеет смысл иметь его в html или javascript! – somethinghere

ответ

1

Ваш MAILTO должен быть определен на HREF (по ссылке), вы связаны только #, КСС ​​для укладки:

<a href="mailto:[email protected]?subject=Some%20Feedback"><img src="mailicon.gif"></a> 
+0

Спасибо за ваши отзывы, но да, я знаю, что это «правильный» способ, но я просто не хотел, чтобы адрес электронной почты находился в HTML-коде.Другая причина заключается в том, что у меня было много небольших html-файлов, и просто определение класса «myMail» было проще для обслуживания, например. в случае изменения адреса электронной почты. –

0

Еще раз спасибо за ваши замечания, и имеющий «MAILTO» в HTML в принципе это правильный способ пойти, если у вас есть только 1 или 2 mailaddresses. Я, вероятно, слишком упростил свой вопрос, просто показывая 2 строки кодирования. Проблема, с которой я столкнулся, была немного больше, то есть не один адрес электронной почты, а несколько. Поэтому давным-давно я реализовал то, что я указал в этих двух строках кодирования. На самом деле у меня было более 50 html-файлов и x классов: class = "Anne" class = "Boris", class = "Charlie" и так далее. Наличие почтовых адресов в одном файле css, используемом всеми html-файлами, облегчило жизнь, и это действительно сработало, я в этом уверен.

В то же время css и браузеры развились, созрели и некоторые правила изменились, вероятно, поэтому он больше не работает. Nevermind, вместо этих 50 файлов html у меня теперь есть только 1 файл html, 1 файл javascript и много файлов JSON, каждый из которых содержит краткое описание ряда фотографий. В одном из предметов есть имя фотографа. Это имя отображается как изображение под рисунком, и когда вы нажимаете на это изображение, программа пытается открыть почтовую программу по умолчанию для отправки почты. Он теперь работает следующим образом в файле яваскрипта:

var emailinfo = '@domain.com?subject=Website%20Fotos%20Feedback'; 

function HandleKeyDown(e) { 
    .... 
    else if (e.keyCode == 77) { // m keyboard shortcut to start mail-program 
    SendEmail(); 
    ] 
} 

function SendEmail() { 
    if (!copyrightname == '') { 
    window.open('mailto:'+copyrightname.toLowerCase()+emailinfo); 
    } 
} 

function LoadText(elt) { 
    .... 
    if (elt.copyright) { 
    copyrightname = elt.copyright; // used later when 'm' is clicked or copyrightmsg is clicked. 
    temp = '<img src="icons/cr_' + elt.copyright + '.gif" title="Click here to send a mail.">'; 
    $("#copyright").html(temp);  // show the image below the picture 
    } 
    else {copyrightname = '';} 
    .... 
} 

$(document).ready(function() { 
    $(document).keydown(HandleKeyDown); 
    $("#copyright").click(SendEmail); 
    .... 
} 

В настоящее время он работает в FF. IE предупреждает о неправильном определении mailprog, Chrome открывает пустое окно. Это, конечно, разные проблемы, поэтому я сейчас буду работать над ними.

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

Посмотрите, как работает (в формате FF) на wijchman.com, а затем нажмите на значок (большой) с небольшими изображениями.

Спасибо за чтение до сих пор и ваши предложения.

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