0
我在我的Google App Engine應用程序中有Comments
句柄來顯示評論。如果用戶(在此定義爲「選擇器」)不在localStorage
中,我想停止加載頁面。如何在onload事件中觸發else子句?
我得到前2個警報:"load event"
和chooser: "undefined"
。由於「選擇器」未定義,我希望else子句可以觸發,但是我沒有在else子句中得到警報。
另外,有序列表中的第一項被顯示,但其餘的不是。所以我認爲加載頁面存在問題。我怎樣才能解決這個問題?
class Comments(webapp.RequestHandler):
def get(self):
self.response.out.write("""
<html>
<head>
<title>Choices</title>
<script type="text/javascript">
function showChoices()
{
alert("load event");
var chooser = localStorage.getItem("chooser");
alert("chooser: " + chooser);
if (chooser)
{
document.getElementById("topten").style.display="inline";
}
else
{
alert("else triggers");
document.write("get an invitation");
}
}
window.onload = showChoices;
</script>
</head>
<body>
<div class="content">""")
#python code:
query = Users.all()
e = query.fetch(10)
self.response.out.write("""<ol>""")
for item in e:
self.response.out.write("""
<div id="topten" class="title" style="display:none">
<li>%s (<span class="small">%s</span>)</li>
</div>
<hr><br />"""
% tuple([item.choice, item.owner]))
self.response.out.write("""</ol>""")
self.response.out.write("""
</div>
</body>
</html>""")
你是對的。我再次清除了localStorage,現在我得到了'chooser:null',否則就會被觸發。 – Zeynel
很高興工作。爲了將來,我會建議在使用JavaScript等弱類型語言時始終使用'==='。 – Ben
有什麼建議可能會發生在localStorage中有「未定義」?謝謝。 – Zeynel