Javascript 如何允许一些URL,并根据一些条件阻止其他URL

Javascript 如何允许一些URL,并根据一些条件阻止其他URL,javascript,Javascript,基本上,我有一个变量,它提供了某个图像的url$member\u profile\u image。我正在尝试检查该url,然后在其中找到“Default”一词。我已经做了,指数是22。这让我知道有人没有上传照片到他们的个人资料。如果他们没有上传个人资料照片,我希望他们只能访问我存储在MyURL数组中的链接。因此,如果上载索引确实是22,并且它们位于MyURL中存储的其中一个页面上,我不希望发生任何事情,但是如果它们尝试转到任何其他页面,我希望将该页面重定向到该页面以上载照片。我对这一切都很陌生,

基本上,我有一个变量,它提供了某个图像的url$member\u profile\u image。我正在尝试检查该url,然后在其中找到“Default”一词。我已经做了,指数是22。这让我知道有人没有上传照片到他们的个人资料。如果他们没有上传个人资料照片,我希望他们只能访问我存储在MyURL数组中的链接。因此,如果上载索引确实是22,并且它们位于MyURL中存储的其中一个页面上,我不希望发生任何事情,但是如果它们尝试转到任何其他页面,我希望将该页面重定向到该页面以上载照片。我对这一切都很陌生,所以我可能离这里很远。到目前为止,我唯一能做的就是重定向到上传照片的页面,但它会一次又一次地重新加载页面。代码如下:

<script>
var image = "$member_profile_image"
var upload = image.indexOf("Default");
var myurls = new Array(3);
myurls[0] = "http://websiteforyou.spruz.com/?page=login&cmd=c&id=7394750B-F821-48B6-B6AC-1508D1932390&c=eb3hb4el98";
myurls[1] = "http://www.websiteforyou.spruz.com/?page=login&cmd=confirm";
myurls[2] = "http://www.websiteforyou.spruz.com";
myurls[3] = "http://www.websiteforyou.spruz.com/member/?page=settings&cmd=personal";
if(myurls[0,1,2] = window.location && upload == "22")
alert("have a great day");
else
alert("You have to upload a profile image to participate on this site");
window.location.replace("http://www.websiteforyou.spruz.com/member/?page=settings&cmd=personal");
</script>

var image=“$member\u profile\u image”
var upload=image.indexOf(“默认”);
var myurls=新数组(3);
MyURL[0]=”http://websiteforyou.spruz.com/?page=login&cmd=c&id=7394750B-F821-48B6-B6AC-1508D1932390&c=eb3hb4el98”;
MyURL[1]=”http://www.websiteforyou.spruz.com/?page=login&cmd=confirm";
MyURL[2]=”http://www.websiteforyou.spruz.com";
MyURL[3]=”http://www.websiteforyou.spruz.com/member/?page=settings&cmd=personal";
如果(myURL[0,1,2]=window.location&&upload==“22”)
警惕(“祝你有美好的一天”);
其他的
警报(“您必须上传个人资料图像才能参与此网站”);
window.location.replace(“http://www.websiteforyou.spruz.com/member/?page=settings&cmd=personal");

在else语句之后,您需要将警报和位置替换为{}-目前,无论if检查的结果如何,都将运行window.location行

也就是说,改变

if(myurls[0,1,2,3] = window.location && upload == "22")
alert("have a great day");
else
alert("You have to upload a profile image to participate on this site");
window.location.replace("http://www.websiteforyou.spruz.com/member/?page=settings&cmd=personal");
为此:

if(myurls[0,1,2,3] = window.location && upload == "22")
  alert("have a great day");
else
{
  alert("You have to upload a profile image to participate on this site");
  window.location.replace("http://www.websiteforyou.spruz.com/member/?page=settings&cmd=personal");
}

我不完全理解你在做什么,所以我做了很多假设! 一般来说,您最大的错误是
myurl[0,1,2,3]=window.location
,因为
myurl[0,1,2,3]
是无效的javascript,
=
不进行比较,而是赋值

我已经做了一个我认为代码应该是什么的例子,我只是希望我是对的

var image   = <?php echo json_encode($member_profile_image) ?>,
    upload  = image.indexOf('Default') === 22,
    myurls  = [
        'http://websiteforyou.spruz.com/?page=login&cmd=c&id=7394750B-F821-48B6-B6AC-1508D1932390&c=eb3hb4el98',
        'http://www.websiteforyou.spruz.com/?page=login&cmd=confirm',
        'http://www.websiteforyou.spruz.com',
        'http://www.websiteforyou.spruz.com/member/?page=settings&cmd=personal'
    ];

if (myurls.indexOf(window.location) > -1 && upload) {
    alert('have a great day');
}
else {
    alert('You have to upload a profile image to participate on this site');
    window.location.replace('http://www.websiteforyou.spruz.com/member/?page=settings&cmd=personal');
}

我一定把这件事搞砸了。没有人?谢谢你的帮助。我把这些括号放在建议的括号里,但我仍然得到相同的结果。警报“祝您度过愉快的一天”只是一个测试,以查看脚本的这一方面是否正常运行。但是,如果我转到myurls数组中列出的任何URL,我都不会收到该警报。它总是提醒else语句。我的if语句或数组本身似乎有问题。有什么想法吗?:掌心:-当然!我完全忽略了检查url是否在数组中的方法——只关注“但它会一次又一次地重新加载页面”这句话,真是太棒了!不用送我到门口,我会让自己出去的我试了一下,它根本就没跑。我没有提供足够的信息,我道歉。我想我的部分描述中缺少$member\u profile\u图像以文本形式显示页面上的url,您能更具体一点吗?到底是什么不起作用?你得到了什么结果?您是否收到任何错误?
var image   = <?php echo json_encode($member_profile_image) ?>,
    upload  = image.indexOf('Default') === 22,
    myurls  = [
        '/?page=login&cmd=c&id=7394750B-F821-48B6-B6AC-1508D1932390&c=eb3hb4el98',
        '/?page=settings&cmd=personal',
        '/?page=login&cmd=confirm',
        ''
    ];

if (myurls.indexOf(window.location.pathname) > -1 && upload) {
    alert('have a great day');
}
else {
    alert('You have to upload a profile image to participate on this site');
    window.location.replace('/member/?page=settings&cmd=personal');
}