我遇到的JavaScript代碼的一些有趣的行爲就在我的XPages停止getClientId()計算在JS代碼
//'rdoGeschlecht1' is present on page Basis (no problems there),
//but not on page 'Stufe1'.
var level = "Stufe1";
if(level == "Basis")
{
alert("1");
// var rdoGeschlecht1 = '#{javascript:getClientId("rdoGeschlecht1")}';
}
else if(level == "Stufe1")
{
alert("2");
}
當一個頁面上執行其中的元素不存在就永遠的代碼在結束時出現錯誤 - 「UngültigerKomponentenname rdoGeschlecht1 kann in getClientId nichtaufgelöstwerden。」 - 在我看來,Notes會嘗試解析對象ID,即使該行在實際執行中未被使用,甚至未被註釋也是如此。
我發現了一個很快的&骯髒的解決方法當然,但我肯定不是第一個絆倒這種行爲,我真的會對XPage程序員將如何應對這個問題感興趣?
可能的重複[爲什麼xPage處理我的評論](http://stackoverflow.com/questions/19679079/why-does-xpage-process-my-comments)我有同樣的問題你的SSJS代碼得到執行甚至如果它被註釋掉了。只要以#{或$ {}開始,它就會被解釋爲SSJS代碼。 –
關於編碼風格的註釋:將{}放在他們自己的行上會爲JavaScript解釋器添加額外的處理。雖然這是Java的品味/風格問題,但它對JavaScript有着微妙而真實的影響。您可能想要改變習慣,並將其與條件陳述放在同一行 – stwissel