【发布时间】:2014-01-16 13:40:57
【问题描述】:
我有一个包含数千页的网站,其中包含随着技术和设备的进步而可能出现的各种问题 (www.toilette-humor.com)。我需要在每个页面上添加一个链接,以允许用户“报告问题”。所以我需要获取以下信息并将其通过电子邮件发送给我:
- 他们在哪个 URL 上看到了问题
- 他们使用的是什么浏览器和版本
如果可能的话……
- 他们使用的是什么操作系统
- 他们正在使用什么平台/设备
我在这里找到了一些代码来回答捕获 URL 并将其放入电子邮件正文的第一个问题,并且我找到了一些用于捕获浏览器和版本的其他代码,但该代码并未将其添加到一封电邮。
我对编写 JavaScript 一无所知。所以请问大家,这两个脚本如何结合,或者有没有更好的解决方案。
脚本一(捕获 URL 并将其添加到电子邮件正文):How to write in 'mailto' body link to current page
<head>
<script>
function SendLinkByMail(href) {
var subject= "Report a Problem";
var body = "There is a problem with this webpage:\r\n\r\n<";
body += window.location.href;
body += ">";
var uri = "mailto:?subject=";
uri += encodeURIComponent(subject);
uri += "&body=";
uri += encodeURIComponent(body);
window.location.href = uri;
}
</script>
</head>
<body>
<p><a href="javascript:(function()%7BSendLinkByMail()%3B%7D)()%3B">Email link to this page</a></p>
</body>
在此处找到脚本二(捕获浏览器和版本):How can you detect the version of a browser?
<script>
navigator.sayswho= (function(){
var ua= navigator.userAgent, tem,
M= ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*([\d\.]+)/i) || [];
if(/trident/i.test(M[1])){
tem= /\brv[ :]+(\d+(\.\d+)?)/g.exec(ua) || [];
return 'IE '+(tem[1] || '');
}
M= M[2]? [M[1], M[2]]:[navigator.appName, navigator.appVersion, '-?'];
if((tem= ua.match(/version\/([\.\d]+)/i))!= null) M[2]= tem[1];
return M.join(' ');
})();
</script>
提前感谢大家的时间和知识。
【问题讨论】:
-
您在哪里找到了 HTML 位?看起来像一些您不想要的额外代码
%7B等。 -
在此页面上查看一些 cmets:stackoverflow.com/questions/7977165/… 该代码对我来说确实可以正常工作。只需要弄清楚如何将更多信息添加到正文(浏览器和版本)
标签: javascript email