javascript - 如何根据设备系统显示链接。 (PHP 邮件)

标签 javascript php email hyperlink message

我正在使用带有 php 的发送电子邮件。 当用户打开我的电子邮件时,我会发送一些文本和链接。 我不想,如果用户使用 iphone - istore 上会有一个链接,或者如果他使用的是 android - 会有一个玩市场的链接,或者如果他使用的是网络浏览器 (PC) -它将显示指向站点的链接。

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

最佳答案

您可以使用 user-agent 并在 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 可以被用户操纵,因为它在客户端运行,因此出于安全原因,您可能需要使用 server-side detection with PHP ,或预建的 mobile-checking libary .

引用

How to detect mobile or PC users?
How to detect operating system?

关于javascript - 如何根据设备系统显示链接。 (PHP 邮件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51398280/

相关文章:

javascript - 为什么 JSLint 要我使用双引号而不是单引号?期望 '"' 而看到 '' '

javascript - 如何使 jQuery 函数在克隆的元素上执行?

PHP 锁定/确保给定脚本在任何给定时间只运行一次

php - Symfony 文件字段在编辑时为空

php - 获取 ip 范围内的所有值

python - smtplib.SMTP 无法登录

javascript - 基于 csv 数据的表格未正确更新 d3js v4

javascript - 使用 JSBuilder 或 Apache ANT 构建 Sencha Touch 应用程序

email - 电子邮件中的Base64图片,在Google邮件中不显示

php - 从 session 用户名中选择