我很难写出似乎应该是一个简单的if语句!我需要说的是,如果mod不等于a,b或c,那么就这样做。以下是我试图但并不成功:如果声明不适用于(&&)运算符
var mod = CURRENT_MODULE_ID;
if (mod != "5827289" && mod != "5195103" && mod != "5181422") {
doSomething();
}
当我键入此为我的编辑器,它说有错误,特别是“实体名称必须紧跟在‘&’在实体引用。 “ ..并且在我去测试时不工作。
任何帮助表示赞赏!
UPDATE: 的网址: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>
我想在网站的每一页,在页面加载自动重定向到验证页面,除非它是验证页面(/验证),“你没有验证”页面(/未验证)或登录页面(/登录) - 除非用户已经通过设置sessvars进行验证,那么它们可以继续进入主页。
为了测试这个,我去esber.squarespace.com并点击右边的一个菜单项(当我完成页面时,这个菜单最终会被隐藏) - 当我尝试去另一个页面没有首先检查我的年龄,我应该重定向到/ verify页面,但是这并不是如此。
如果我修改剧本:
<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>
然后正常工作
澄清CDATA部分:也就是说,如果“国防部”比其他任何东西,B,C - 然后做一些事情。 – VUELA 2010-02-05 03:03:51
你是如何获得国防部号码?我浏览了站点中的页面,并且没有一个页面的CURRENT_MODULE_ID与您正在测试的MOD编号相匹配。除了主要的网页。 – 2010-02-05 03:36:15
它实际上是Squarespace.Constants.CURRENT_MODULE_ID; ......它们应该都以#modulePage1234567的最终形式出现在源代码中。 – VUELA 2010-02-05 03:49:56