在前面的一篇文章中《如何繞過博客園對 script 的屏蔽》,我看到了在頁面執行自定義的腳本的但願,本身試驗了一下,寫了個簡單的測試,以下:css
<input id="btnTest" onclick="t1(22)" type="button" value="測試" />
腳本代碼:html
function t1(v)
{
console.log("---------- t1執行日誌 : "+v+" -----------");
}
發現無論把這個腳本代碼放到什麼地方,好像都執行不了啊!~好像不是這麼回事啊,再次參考了文章,文章裏面的思路是對的,可能不適合我,那我就找一個適合個人吧測試
主要解決幾個問題this
1.腳本放到頁面的元素中,不能破壞腳本結構,否則註釋、換行等就沒有了,且不能影響代碼執行(代碼壓縮後的票過啊)spa
2.使腳本不可見。日誌
3.使用博客園本身有的頁面元素,不本身造輪子。code
有了上面的幾條,在根據前面文章的思路,就有了:htm
第一步:讓博客園可解析js的代碼blog
首先使博客園可以解析咱們的js代碼,首先登陸博客園,點擊管理-->設置,以下界面:ip
在 「頁腳Html代碼」 中加入:
<!-- 運行頁面上的自定義腳本 Star--> <style type="text/css">textarea[title=js]{ display: none;}</style> <script> $(function(){ $('textarea[title=js]').each(function(){window.eval($(this).text())}); console.log("---[ 頁面自定義腳本初始化完成! ]----"); }); </script> <!-- 運行頁面上的自定義腳本 End-->
代碼簡單,你懂得,我就不說啥了,最後點擊保存按鈕。
第二步:編寫js腳本並執行
在博客園的文章編輯界面,以下圖選中的地方點擊:
彈出HTML編譯界面,以下圖:
添加一個textarea元素,並在元素中寫咱們本身的js腳本,以下:
<p><textarea title="js">
function t1(v) { var dt=new Date(); var str=dt.getHours()+":"+dt.getMinutes()+":"+dt.getSeconds(); str="---------- ["+str+"] t1執行日誌 : "+v+" -----------"; console.log(str); $('#res').html(str); } </textarea></p>
那麼咱們再放一個button的按鈕元素,看看執行本身的腳本效果:
<input id="btnTest" onclick="t1(111)" type="button" value="測 試 1" /> 或者 <button onclick="t1(222)">測 試 2</button>
或者
爲了測試效果,我本身在腳本代碼中加點時間等其餘元素進去,把本身的自定義代碼放進去,打開頁面的控制檯,點擊按鈕測試 ---- Perfect!!!!