发送包含浏览器功能和屏幕大小等的电子邮件

时间:2010-05-29 15:04:24

标签: javascript jquery email accessibility browser-detection

我的很多访问者都是盲人(因为它是盲人的网站),而且经常在尝试诊断问题时,我想知道他们使用的是什么版本的浏览器等,是否安装了闪存。因为通常Y安装时,有人会发誓他们正在使用X.目前,我正在使用http://jsbrwsniff.sourceforge.net/usage.html管道发送电子邮件,但我在这里遇到了两个问题:

首先,jsbrwsniff非常“沉重”,自2007年初以来一直没有更新,因此结果中有很多-1。

其次,如果我按如下方式调用它,页面会重新加载:

<a href="#" onclick="sendEmail()">Email feedback</a>

如果我这样称呼它,页面会变成空白,看起来它正试图无限加载空白页面:

<a href="javascript:sendEmail()">Email feedback</a>

在这里看到自己的噩梦: http://kingston.talking-newspapers.co.uk/

现在,我知道这里和其他地方有1001篇文章和评论说“不要使用浏览器嗅探器,它们可以被欺骗(等等)”,但老实说,你必须相信我这是一个非常有用的工具,当你在更多的“高年级”谈论某人并通过“帮助&gt;关于”使用屏幕阅读器时,他们点击了错误的窗口开始!

我在网站上使用jquery,我知道$ jQuery.browser和$ jQuery.support,但这些并没有告诉我需要的元素(比如是否安装了Flash,以及版本是什么版本)等等)。我到处寻找一个jquery插件来满足我的需求,没有运气。

最后,如果我必须坚持jsbrwsniff的当前方法,那么它不是世界末日,但是如果有人知道启动用户的电子邮件客户端的方式填充了我需要的信息但没有刷新或消隐页面,我很想知道。

BTW - 没有使用网络表格是一个很好的理由,这仅仅是因为屏幕阅读器用户更容易使用他们习惯的电子邮件客户端。

谢谢!

3 个答案:

答案 0 :(得分:5)

绝对应该从服务器端IMO发送电子邮件。

您可以发出一个Ajax请求,其中包含您正在嗅探PHP或其他服务器端脚本的所有信息。该脚本将接收数据并发送电子邮件。这种方式更加可靠。

除此之外,你能否强调你的确切问题 - 它是嗅探部分还是发送部分......?

答案 1 :(得分:1)

当用户想要提交浏览器详细信息时,您可以动态创建一个表单(例如,在隐藏的DIV中),其中包含您需要的所有deails,并使用mailto:action URL来引导用户电子邮件客户端。有关详细信息,请参阅http://www.javascript-coder.com/javascript-form/javascript-email-form.phtml

但我不确定如何自动发送邮件。这似乎超越了浏览器的安全性。因此,您的用户仍然需要点击发送。

答案 2 :(得分:0)

您是否考虑过使用 mailto: 打开邮件客户端并将收集的信息收集到电子邮件中?

我不确定您的jquery是否可以将您收集的信息格式化为href链接,但如果是这样的话可能是您正在寻找的内容:

&#13;
&#13;
<a href="mailto:someone@somewhere.com?subject=This%20is%20the%20subject&cc=someone_else@example.com&body=This%20is%20the%20body">mail</a>
&#13;
&#13;
&#13;