如果Statement不与And(&&)运算符一起使用

VUE*_*ELA 3 javascript cdata content-management-system logical-operators squarespace

我很难写出看似简单的if语句!我需要它说,如果mod不等于a,b或c - 那么这样做.这是我尝试但未成功的原因:

var mod = CURRENT_MODULE_ID;
if (mod != "5827289" && mod != "5195103" && mod != "5181422") {
   doSomething();
}
Run Code Online (Sandbox Code Playgroud)

当我在编辑器中键入它时,它表示存在错误,特别是"实体名称必须紧跟实体引用中的'&'." ..当我去测试时,它不起作用.

任何帮助表示赞赏!!


更新:网址:esber.squarespace.com

完整的脚本:

<script type="text/javascript" src="/storage/scripts/sessvars.js"></script>
<script type="text/javascript">
<![CDATA[ 

onload=function(){
 sessvars.browserConfirmation?'none':'';
 sessvars.ageConfirmation?'none':'';
}; 

var mod = Squarespace.Constants.CURRENT_MODULE_ID;
if (mod != "5827289" && mod != "5195103" && mod != "5181422") {
   if(sessvars.ageConfirmation != "yes"){
      window.location = "/verify/";
   };
};

]]>
</script> 
Run Code Online (Sandbox Code Playgroud)

我希望网站中的每个页面都自动将页面加载重定向到验证页面,除非它是验证页面(/ verify),"您未验证"页面(/未验证)或登录页面(/登录) - 除非用户已通过设置sessvars进行验证,否则他们可以继续访问主页.

为了测试这个,我去esber.squarespace.com并点击右边的一个菜单项(这个菜单最终会在我完成页面时被隐藏) - 当我尝试去另一个页面时没有验证我的年龄首先我应该被重定向回/验证页面,但这不会发生.

如果我修改脚本:

<script type="text/javascript" src="/storage/scripts/sessvars.js"></script>
<script type="text/javascript">

onload=function(){
 sessvars.browserConfirmation?'none':'';
 sessvars.ageConfirmation?'none':'';
}; 

var mod = Squarespace.Constants.CURRENT_MODULE_ID;
if (mod != "5827289") {
   if(sessvars.ageConfirmation != "yes"){
      window.location = "/verify/";
   };
};

</script> 
Run Code Online (Sandbox Code Playgroud)

然后它工作正常(?)

Wal*_*shi 6

试试这个:

// <![CDATA[ 

onload=function(){
 sessvars.browserConfirmation?'none':'';
 sessvars.ageConfirmation?'none':'';
}; 

var mod = Squarespace.Constants.CURRENT_MODULE_ID;
if (mod != "5827289" && mod != "5195103" && mod != "5181422") {
   if(sessvars.ageConfirmation != "yes"){
      window.location = "/verify/";
   };
};

// ]]>
Run Code Online (Sandbox Code Playgroud)

如果这不起作用,只需将代码保留一段时间,以便我们可以直接在您的网站上调试它