Webkit 浏览器(Chrome 和 Safari)不喜欢 mailto?
下面是我的代码:
function email(from, to, subject, body){
if(subject == "Website Feedback"){
to = to + "; [email protected]";
}
if(from == "Outlook" || from == "LiveDesk"){
window.location="mailto:"+to+"?subject="+subject+"&body="+body;
}else if(from == "Gmail"){
window.location="https://mail.google.com/mail?view=cm&tf=0"+to+"&su"+subject+"&body"+body;
}
}
^^ 下面 HTML 的 Javascript
<div id="hiddenForm">
<form>
What do you use for your email? <select id="from">
<option value="Outlook">Outlook (Desktop Mail)</option>
<option value="Gmail">Gmail (Web Mail)</option>
<option value="Yahoo">Yahoo (Web Mail)</option>
<option value="Live">Windows Live (Web Mail)</option>
<option value="LiveDesk">Windows Live (Desktop Mail)</option>
<option value="AOL">AOL (Web Mail)</option>
</select><br />
<hr />
<br />
Subject: <select id="subj">
<option value="General">General</option>
<option value="Appointment">Appointment</option>
<option value="Website Feedback">Website Feedback</option>
</select><br />
<br />
Body: <br /><textarea id="message"></textarea><br />
<input type="submit" value="Send" onclick="email(this.form.from.value, '[email protected]', this.form.subj.value, this.form.message.value)" />
</form>
</div>
我遇到的问题是,在 Internet Explorer 和 Firefox 中,此代码可以完美运行。在 Safari 和 Chrome 中,它不起作用。它基本上只是重新加载页面,但什么也没有发生。正如您所看到的,它仅设置为使用 mailto 与 Outlook 和 Live(桌面版本)配合使用。 Gmail 我不确定是否有效。如果有人可以帮助我了解为什么 webkit 浏览器无法识别此代码,请这样做。
Below is my code:
function email(from, to, subject, body){
if(subject == "Website Feedback"){
to = to + "; [email protected]";
}
if(from == "Outlook" || from == "LiveDesk"){
window.location="mailto:"+to+"?subject="+subject+"&body="+body;
}else if(from == "Gmail"){
window.location="https://mail.google.com/mail?view=cm&tf=0"+to+"&su"+subject+"&body"+body;
}
}
^^ Javascript for the below HTML
<div id="hiddenForm">
<form>
What do you use for your email? <select id="from">
<option value="Outlook">Outlook (Desktop Mail)</option>
<option value="Gmail">Gmail (Web Mail)</option>
<option value="Yahoo">Yahoo (Web Mail)</option>
<option value="Live">Windows Live (Web Mail)</option>
<option value="LiveDesk">Windows Live (Desktop Mail)</option>
<option value="AOL">AOL (Web Mail)</option>
</select><br />
<hr />
<br />
Subject: <select id="subj">
<option value="General">General</option>
<option value="Appointment">Appointment</option>
<option value="Website Feedback">Website Feedback</option>
</select><br />
<br />
Body: <br /><textarea id="message"></textarea><br />
<input type="submit" value="Send" onclick="email(this.form.from.value, '[email protected]', this.form.subj.value, this.form.message.value)" />
</form>
</div>
The problem I am having is that in Internet Explorer and Firefox, this code works perfectly. In Safari and Chrome, it won't work. It basically just reloads the page, but nothing happens. As you can see, its only set up to work with Outlook and Live (desktop version) using mailto. Gmail I'm not sure works yet. If anyone can help me to know why the webkit browsers aren't recognizing this code, please do.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试 window.location.href='mailto:[电子邮件受保护]'; ;)
适用于 chrome 12 ;) 尚未在 safari 中测试它:)
try window.location.href='mailto:[email protected]'; ;)
works for chrome 12 ;) haven't tested it in safari :)
感谢您的大力帮助,我终于在上面代码的一些帮助下完成了。
Thanks for great help I have done finally with some help from above code.