前提: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
寫隱藏標籤<input type="hidden" id="variable" value="{$variable}"/><!--對!我沒有修改定界符-->htm
再在js中獲取該元素的值ip
若是你有使用jq的話,你能夠在標籤中添加屬性:input
<div data-value="{$variable}">我是div</div>後臺
js: var variable =$("div").attr("data-value");
上面兩種方法都有個缺陷,就是variabe都是可見的,只要別人「審查元素」就能看見你的variable是什麼,是保密的數據就不建議這樣作了。
追加:剛剛利用審查元素測試了,以下所說,是能夠就算放在js裏也是會輸出variable的,確實沒有安全性的說法。