如果变量等于False,则通过JavaScript重定向?
我尝试了所有我知道的方法(没有太多tbh),下面是没有尝试重定向的代码:如果变量等于False,则通过JavaScript重定向?,javascript,Javascript,我尝试了所有我知道的方法(没有太多tbh),下面是没有尝试重定向的代码: if (navigator.geolocation) { // Locate position navigator.geolocation.getCurrentPosition(displayPosition); } else { alert('It seems like Geolocation, which is required for this page, is not enabled
if (navigator.geolocation) {
// Locate position
navigator.geolocation.getCurrentPosition(displayPosition);
} else {
alert('It seems like Geolocation, which is required for this page, is not enabled in your browser. Please use a browser which supports it.');
}
blacklisted_areas = {
'area 51': [1, 2],
'pink unicorn zoo': [1, 2],
};
// Success callback function
function displayPosition(pos) {
var mylat = pos.coords.latitude;
var mylong = pos.coords.longitude;
var thediv = document.getElementById('locationinfo');
thediv.innerHTML = '<p>Your longitude is :' + mylong + ' and your latitide is ' + mylat + '</p>';
}
var blacklisted = false;
for (let x of Object.values(blacklisted_areas)) {
if (displayPosition()[0] === x[0] && displayPosition()[1] === x[1]) {
blacklisted = true;
}
}
//Now right below here is where I need to check for blacklisted's value (if false redirect to a different site)
if(navigator.geolocation){
//定位
navigator.geolocation.getCurrentPosition(displayPosition);
}否则{
警报('您的浏览器中似乎未启用此页面所需的地理位置。请使用支持它的浏览器。');
}
列入黑名单的地区={
“第51区”:[1,2],
“粉红独角兽动物园”:[1,2],
};
//成功回调函数
功能显示位置(pos){
var mylat=位置坐标纬度;
var mylong=位置坐标经度;
var thediv=document.getElementById('locationinfo');
你的经度是:“+mylong+”,你的纬度是“+mylat+”;
}
var黑名单=假;
对于(设x为对象值(黑名单_区域)){
如果(displayPosition()[0]==x[0]&&displayPosition()[1]==x[1]){
黑名单=正确;
}
}
//现在,我需要检查黑名单的值(如果为false,则重定向到其他站点)
请帮助我:((
这与黑名单相反。如果黑名单为false,则条件为true,并发生重定向
编辑:navigator.geolocation是异步的,因此您需要处理回调中的所有逻辑
function displayPosition(pos) {
var mylat = pos.coords.latitude;
var mylong = pos.coords.longitude;
var thediv = document.getElementById('locationinfo');
thediv.innerHTML = '<p>Your longitude is :' + mylong + ' and your latitide is ' + mylat + '</p>';
var blacklisted = false;
for (let x of Object.values(blacklisted_areas)) {
if (mylat === x[0] && mylong === x[1]) {
blacklisted = true;
}
}
if(!blacklisted){
window.location="insertURLHere";
}
}
功能显示位置(pos){
var mylat=位置坐标纬度;
var mylong=位置坐标经度;
var thediv=document.getElementById('locationinfo');
你的经度是:“+mylong+”,你的纬度是“+mylat+”;
var黑名单=假;
对于(设x为对象值(黑名单_区域)){
如果(mylat==x[0]&&mylong==x[1]){
黑名单=正确;
}
}
如果(!被列入黑名单){
window.location=“inserturhere”;
}
}
让我知道这是否有效
这与黑名单相反。如果黑名单为false,则条件为true,并发生重定向
编辑:navigator.geolocation是异步的,因此您需要处理回调中的所有逻辑
function displayPosition(pos) {
var mylat = pos.coords.latitude;
var mylong = pos.coords.longitude;
var thediv = document.getElementById('locationinfo');
thediv.innerHTML = '<p>Your longitude is :' + mylong + ' and your latitide is ' + mylat + '</p>';
var blacklisted = false;
for (let x of Object.values(blacklisted_areas)) {
if (mylat === x[0] && mylong === x[1]) {
blacklisted = true;
}
}
if(!blacklisted){
window.location="insertURLHere";
}
}
功能显示位置(pos){
var mylat=位置坐标纬度;
var mylong=位置坐标经度;
var thediv=document.getElementById('locationinfo');
你的经度是:“+mylong+”,你的纬度是“+mylat+”;
var黑名单=假;
对于(设x为对象值(黑名单_区域)){
如果(mylat==x[0]&&mylong==x[1]){
黑名单=正确;
}
}
如果(!被列入黑名单){
window.location=“inserturhere”;
}
}
让我知道这是否有效谢谢,但是它所在的当前区域是否不正确?请提供帮助,因为它不起任何作用。navigator.geolocation是异步的。请尝试粘贴var blacklisted=false和displayPosition()下面的所有内容编辑:等一下,你必须重新组织一段时间。在我认为这一点不起作用后,让我发表一个新的评论,你能更详细地告诉我放在哪里吗?我在consoleWorks中发现了一个Pos未定义的错误。非常感谢你,所以muchI刚刚编辑了我的第一个回复。如果有任何部分被你解开了,请告诉我,不管是什么原因它所在的nt区域不正确?请提供帮助,因为它什么也不做。navigator.geolocation是异步的。请尝试粘贴var blacklisted=false和displayPosition()下面的所有内容编辑:等一下,你得重新组织一下。在我认为这一点不起作用后,让我发表一个新的评论,你能更详细地告诉我把它们放在哪里吗?我在consoleWorks中发现了一个Pos未定义错误。非常感谢你,muchI刚刚编辑了我的第一个回复。如果有任何部分不清楚,请告诉我