根据浏览器类型将用户重定向到其他外部链接

时间:2019-03-20 18:31:24

标签: html redirect browser-detection

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

我试图弄清楚如何创建一个URL,该URL可以将用户自动重定向到相关的浏览器扩展存储-也就是更好的用户体验。

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

浏览器是否将其标记为来自重定向,因为它会转到外部URL?我看到电子邮件链接不断打开一个页面,并且在最终页面加载之前发生了多次重定向...不确定它们是否在做一些不被视为垃圾邮件的操作

我看过其他答案,但它们专注于重定向到“内部页面”

1 个答案:

答案 0 :(得分:0)

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

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"}

您可以做的是用空格分割用户代理: 这是我正在编写的伪代码:

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.)    

这可能会对您有所帮助。