我有一个脚本可以检测到Android设备,然后重定向到“android.html”。在“android.html”页面上,您可以下载应用程序或点击“继续”继续“index.html”。问题是当你点击“CONTINUE”时,你会陷入无限重定向循环回到“android.html。如何点击”CONTINUE“忽略浏览器检测重定向脚本?
index.html javascript android detection redirect
var isAndroid = ua.indexOf("android") > -1;
if(isAndroid) {
window.location = 'android.html';
}
android.html
<html>
<head>
</head>
<body>
If you are not using Dolphin Browser HD.</br>
<a href="dbs/js/DolphinbrowserV7.3.1beta.apk">CLICK HERE TO INSTALL</a></br></br>
<a href="index.html">CONTINUE</a>
</body>
</html>
答案 0 :(得分:0)
在网址中添加一些查询字符串
<html>
<head>
</head>
<body>
If you are not using Dolphin Browser HD.</br>
<a href="dbs/js/DolphinbrowserV7.3.1beta.apk">CLICK HERE TO INSTALL</a></br></br>
<a href="index.html?test=a">CONTINUE</a>
</body>
</html>
并在你的javascript中写下逻辑
var url=location.href;
var isValue=url.indexOf('?test=a') // -1 says its not there.
var isAndroid = ua.indexOf("android") > -1;
if(isAndroid && isValue==-1) {
window.location = 'android.html';
}
答案 1 :(得分:0)
var isAndroid = ua.indexOf("android") > -1;
var fromAndroidPage = (location.search.indexOf("fromAndroidPage=yes") != -1);
if(fromAndroidPage && isAndroid) {
window.location = 'android.html';
}
将您的页面更改为
<a href="index.html?fromAndroidPage=yes">CONTINUE</a>
答案 2 :(得分:0)
我不知道你是否可以,但是一个解决方案是使用查询字符串中的a参数,例如:
var isAndroid = ua.indexOf("android") > -1;
var isContinue = window.location.href.split(/ParameterName=/)[1];
if(isAndroid && notContinue) {
window.location = 'android.html';
}
,然后在继续按钮中:
<a href="index.html?ParameterName=redirect">CONTINUE</a>
请注意,我获取字符串值的方式无论如何都不是错误证明,您可以查看this answer
答案 3 :(得分:0)
您可以使用javascript的localStorage。
的index.html
var isAndroid = ua.indexOf("android") > -1;
if(isAndroid) {
localStorage.getItem('shouldContinue') ?/*nothing*/:window.location = 'android.html';
}
android.html
<a href="index.html" onclick="localStorage.setItem('shouldContinue',1);">CONTINUE</a>
答案 4 :(得分:0)
参数可能会有效,但现在您需要更改指向index.html
页面的所有链接,以便传递...粗略。你真正想要做的是设置一个你可以双方检查的cookie。 (我假设这是你预期的回复,因为你用 cookies 标记了你的问题。)
由于您已标记了 jquery 的问题,我建议https://github.com/carhartl/jquery-cookie(虽然我从未使用过它)并且:
<强> android.html 强>
If you are not using Dolphin Browser HD.</br>
<a href="dbs/js/DolphinbrowserV7.3.1beta.apk">CLICK HERE TO INSTALL</a></br></br>
<a href="index.html" onclick="$.cookie('forceAndroid', true);">CONTINUE</a>
<强>的index.html 强>
var isAndroid = ua.indexOf("android") > -1;
if(isAndroid && !$.cookie('forceAndroid')){
window.location = 'android.html';
}
我没有为我的JS使用jQuery,但这里有一个关于库的好文档(我假设jQuery没有内置的cookie支持?):http://www.electrictoolbox.com/jquery-cookies/