根据浏览器类型将用户重定向到不同的外部链接
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-last
或 useragent-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.)
这可能对您有所帮助。
我的扩展/附加组件在多个浏览器商店上线,但如果我想将某人引导至该扩展,我必须向他们提供 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-last
或 useragent-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.)
这可能对您有所帮助。