4

我的很多访问者都是盲人(它是一个盲人网站),并且经常在尝试诊断问题时,我想知道他们正在使用什么版本的浏览器等,是否安装了 flash。因为通常情况下,有人会发誓他们正在使用 X,而实际上 Y 已安装。目前,我正在使用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 篇文章和评论说“不要使用浏览器嗅探器,它们可能会被欺骗(等等)”,但老实说,你必须相信我,当你当他们点击错误的窗口开始时,他们正在谈论他们更“高级”并通过“帮助>关于”使用屏幕阅读器的人!

无论如何,我在站点中使用 jquery,并且我知道 $jQuery.browser 和 $jQuery.support,但是这些并没有告诉我我需要的元素(例如是否安装了 Flash,以及什么版本等)。我到处寻找满足我需要的 jquery 插件,但没有运气。

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

顺便说一句 - 不使用网络表单是有充分理由的,这仅仅是因为屏幕阅读器用户更容易使用他们习惯的电子邮件客户端。

谢谢!

4

3 回答 3

5

Tthat E-Mail should definitely be sent from the server side IMO.

You could make an Ajax request containing all the information you are sniffing to a PHP or other server side script. That script would receive the data and send the E-Mail. It's much more reliable that way.

Other than that, can you emphasize your exact question - is it the sniffing part, or the sending part...?

于 2010-05-29T15:07:59.667 回答
1

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

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

于 2010-05-29T15:40:09.437 回答
0

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

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

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

于 2015-02-10T00:35:39.243 回答