Javascript 如何显示链接取决于设备系统。(PHP邮件)

Javascript 如何显示链接取决于设备系统。(PHP邮件),javascript,php,email,hyperlink,message,Javascript,Php,Email,Hyperlink,Message,我正在使用php发送电子邮件。 当用户打开我的电子邮件时,我会在那里发送一些文本和链接。 我不希望,如果一个用户使用iphone——istore上会有一个链接,或者如果他使用的是android——会有一个到play market的链接,或者如果他使用的是web浏览器(PC)——它会显示一个到站点的链接 如何创建这些案例? 我有一个使用js的想法,但是我不能用电子邮件发送js代码 您可以使用用户代理并在JavaScript中检测用户的设备 /** * Determine the mobile o

我正在使用php发送电子邮件。 当用户打开我的电子邮件时,我会在那里发送一些文本和链接。 我不希望,如果一个用户使用iphone——istore上会有一个链接,或者如果他使用的是android——会有一个到play market的链接,或者如果他使用的是web浏览器(PC)——它会显示一个到站点的链接

如何创建这些案例?
我有一个使用js的想法,但是我不能用电子邮件发送js代码

您可以使用
用户代理
并在JavaScript中检测用户的设备

/**
 * Determine the mobile operating system.
 * This function returns one of 'iOS', 'Android', 'Windows Phone', or 'unknown'.
 *
 * @returns {String}
 */
function getMobileOperatingSystem() {
  var userAgent = navigator.userAgent || navigator.vendor || window.opera;

      // Windows Phone must come first because its UA also contains "Android"
    if (/windows phone/i.test(userAgent)) {
        return "Windows Phone";
    }else if (/android/i.test(userAgent)) {
        return "Android";
    }else if (/iPad|iPhone|iPod/.test(userAgent) && !window.MSStream) {
        return "iOS";
    }else if (screen.width >= 480) {
        return "PC"
    }

    return "unknown";
}
但是,在您的情况下,没有必要检测用户的设备或操作系统。正如评论中提到的,为什么不把所有的链接放在那里,让用户选择他们喜欢的平台呢

另一方面,这可以通过在某个设备上发送和发送电子邮件,并在另一个设备上检查相同的电子邮件来轻松实现

尽管如此,由于JavaScript是在客户端运行的,因此用户可以对其进行操作,因此出于安全原因,您可能希望使用或预构建

参考文献



您可以使用
或者获取用于操作系统和浏览器的
请记住,这些信息可能会被欺骗。


如果您有此信息,您可以通过要发送的链接交叉检查用户代理。下面是一个可能的列表

,因为您也不能在电子邮件中嵌入PHP,您在发送电子邮件之前是否检测到用户平台?为什么不包括所有链接,以防他在手机上浏览您的网站,但在桌面上收到电子邮件?当您使用php发送邮件时,您如何知道客户端将来将使用哪个浏览器打开此邮件?你必须需要JS,否则就没有办法了。不过,这最多只能在用户在网站上并触发发送此电子邮件的那一刻起作用。在实际的电子邮件中,您可以忘记执行自己的JavaScript,这几乎会在任何地方被阻止。如果在实际发送电子邮件之前选择了正确的链接呢?那么问题将是它是否仍然是“正确的链接”在我检查我的电子邮件时…可能是在一个完全不同的设备上。这是正确的,这就是为什么我建议将每个链接都放在那里,让用户选择合适的链接。我认为这是不可能的,他不会一直知道用户将使用哪个电子邮件客户端打开邮件。这必须用JS来完成,谢谢你在发送邮件前的提醒。他显然不能(不应该)用邮件发送脚本。不过,他也可以将邮件发送到一个简单的html登录页,在那里他检查这些信息并打印出正确的link.JS在电子邮件客户端中工作,但这并不保证。我认为它应该与JS,否则没有其他选择,因为用户可以打开电子邮件从iPhone和Android这两个设备,这将导致电子邮件的错误版本作为其静态。我没有考虑这一点。不过,我不会在邮件中发送脚本,因为我担心邮件服务器会抱怨,让我成为垃圾邮件或更糟的人。。。在官方筛选列表中列出潜在利用漏洞邮件的原因。就像我们的管理员如此英勇地实现了。。。如果在他的用例中可能的话,我会在发送邮件之前检查一下。他还说他不能在邮件中发送js脚本吗?