如果变量等于False,则通过JavaScript重定向?

如果变量等于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

我尝试了所有我知道的方法(没有太多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 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刚刚编辑了我的第一个回复。如果有任何部分不清楚,请告诉我