分享一個js文件中嵌套php會出錯的問題

前提:php

使用ThinkPHP。後臺傳一個變量到html頁面:$this->assign("variable", $variable);html

問題:安全

在html頁面中嵌套js代碼,在js的代碼中輸出這個變量:測試

<script language="JavaScript">
    var variable =<?php echo $variable;?>;
    alert(variable);
    //這樣是能夠正常輸出的
</script>

 

 

將上面的代碼遷移到js文件variable.js中,再在該html頁面引入這個js文件,這時候就會出錯,不可是輸出不來,仍是形成js錯誤,js代碼都運行不了。this

個人解決方法是:code

  1. 寫隱藏標籤<input type="hidden" id="variable" value="{$variable}"/><!--對!我沒有修改定界符-->htm

    再在js中獲取該元素的值ip

  2. 若是你有使用jq的話,你能夠在標籤中添加屬性:input

    <div data-value="{$variable}">我是div</div>後臺

        js: var variable =$("div").attr("data-value");

上面兩種方法都有個缺陷,就是variabe都是可見的,只要別人「審查元素」就能看見你的variable是什麼,是保密的數據就不建議這樣作了。

 

追加:剛剛利用審查元素測試了,以下所說,是能夠就算放在js裏也是會輸出variable的,確實沒有安全性的說法。

相關文章
相關標籤/搜索