Mailto:几年前通过CSS停止了工作

时间:2017-01-18 11:58:00

标签: css mailto

点击mailicon.gif button(或输入' m'键),打开已填写To:Subject:字段的标准邮件程序,但这已经停止了。

HTML:

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

的CSS:

a.myMail:active {background:url('mailto:my.address@xmail.com?subject=Some Feedback');}

现在它只将#添加到浏览器地址行中的网址,屏幕保持不变,不再发生任何事情。我该如何恢复旧的行为?

2 个答案:

答案 0 :(得分:1)

你的mailto应该在href(链接)上定义,你只链接到#,css用于造型:

<a href="mailto:my.address@xmail.com?subject=Some%20Feedback"><img src="mailicon.gif"></a>

答案 1 :(得分:0)

再次感谢您的评论,如果您只有1或2个mailaddresses,原则上在html中使用'mailto'是正确的方法。 我可能只是通过显示2行编码来过度简化我的问题。我遇到的问题有点大,即不是一个电子邮件地址而是几个。因此,很久以前我实现了我在这两行编码中指定的内容。实际上我有超过50个html文件和x类:class =“Anne”class =“Boris”,class =“Charlie”等等。 将邮件地址放在所有html文件使用的一个css文件中,使生活变得简单,并且确实有效,我确信这一点。

与此同时,css和浏览器已经发展,成熟并且一些规则发生了变化,这可能就是为什么它不再起作用了。 没关系,而不是那些50个html文件我现在只有1个html文件,1个javascript文件和许多JSON文件,每个文件都包含许多照片的简短描述。其中一个项目是摄影师的名字。 此名称在图片下方显示为图像,当单击该图像时,程序会尝试打开默认邮件程序以发送邮件。 它现在在javascript文件中如下工作:

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文件中拥有完整的名称。

在wijchman.com上查看它的工作情况(在FF中),然后点击带有小图片的(大)图标。

感谢您的阅读以及您的建议。