点击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');}
现在它只将#
添加到浏览器地址行中的网址,屏幕保持不变,不再发生任何事情。我该如何恢复旧的行为?
答案 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中),然后点击带有小图片的(大)图标。
感谢您的阅读以及您的建议。