根据浏览器类型将用户重定向到不同的外部链接

Redirecting users to different external links based on browser type

我的扩展/附加组件在多个浏览器商店上线,但如果我想将某人引导至该扩展,我必须向他们提供 4 个不同的链接(例如此处显示 - http://credizian.gitlab.io/untrackme 或电子邮件,作为列表)。

我想弄清楚如何创建一个 URL 将用户自动重定向到相关的浏览器扩展商店 - 也就是更好的用户体验。

我想到的过程是 - 创建一个内置 javascript 的页面,以根据浏览器检测逻辑重定向用户。我正在考虑将其托管在 S3 中,并只将基本 javascript 与空白页面放在一起,以实现最快的重定向。这是最好的方法吗?

浏览器是否会从重定向中标记此内容,因为它将转到外部 URLs?我看到电子邮件链接不断打开一个页面,并在最终页面加载之前发生多次重定向...不确定他们是否正在做一些不被视为垃圾邮件的事情

我查看了其他答案,但他们专注于重定向到 'internal pages'

指定浏览器的用户代理如下所示:

Mozilla - Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:15.0) Gecko/20100101 Firefox/15.0.1

Chrome - Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.9 Safari/537.36

Opera - Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36 OPR/48.0.2685.52

Safari - Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27


browser_dict = {'Safari': "safari url here",'OPR':"opera url here",'Chrome':"chrome url here", 'Firefox':"firefox url here"}

你可以做的是用 space 拆分用户代理: 这是我正在写的伪代码:

useragent = user-agent.split(' ') //useragent will be list

再次使用'/'拆分上面列表的最后一个和最后一个第二项:

useragent-last = useragent[-1].split('/')
useragent-lastsecond= useragent[-2].split('/')

现在正在检查 useragent-lastuseragent-lastsecond 是否存在于浏览器字典中

for key, value in browser_dict.items():
    if useragent-last == key:
        go to url browser_dict[key] //url
    elif useragent-lastsecond == key:
        go to url browser_dict[key] //url
    else: 
          print (No known browser detected.)    

这可能对您有所帮助。