0

基于JavaScript条件语句即如何根据条件在JavaScript

<script type="text/javascript"> 
    if(localStorage.getItem("signedIn")=="True"){ 
     {% include 'shared/headers/simple-header.html' %} 
    }else{ 
     {% include 'shared/headers/loggedin-header.html' %} 
    } 
</script> 

上面的代码不工作如何呈现一个模板来呈现模板,它给我的错误在JavaScript控制台

什么最佳实践,在此先感谢。

+0

我也尝试过使用javascript的document.write函数,但结果保持不变! –

+2

模板发生在服务器端。 Javascript发生在客户端。这就是为什么它不起作用。 –

+0

不,webapp2与谷歌应用程序引擎 - python –

回答

2

{% %}模板魔术在javascript之前执行。所以,你基本上是在你的javascript中注入html代码。在服务器(服务器端)完成{% %},并发送到模板。在收到模板后,在浏览器(客户端)中完成Javascript。

这是一个有点哈克,但周围的计时问题得到:

<div id="simpleHeader" style="display:none;"> 
    {% include 'shared/headers/simple-header.html' %} 
</div> 
<div id="loggedInHeader" style="display:none;"> 
    {% include 'shared/headers/loggedin-header.html' %} 
</div> 

<script> 
    if(localStorage.getItem("signedIn")=="True"){ // if string "True", no quotes if Boolean True 
     document.getElementById("loggedInHeader").style.display = "block"; 
    }else{ 
     document.getElementById("simpleHeader").style.display = "block"; 
    } 
</script> 

会更好地检查服务器端登录。

+0

这是永远不会成为条件的一部分,但是当我通过发出警报来检查“signedIn”的值时,它会说:True –

+0

也许它是一个布尔值,而不是字符串:'if(localStorage.getItem(“ signedIn“)== True){' – GAEfan

+0

对不起,我在本地存储中确实是'真'。 –