我很難寫出似乎應該是一個簡單的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