自Z-BlogPHP1.5版本開始,我們提供了Z-BlogPHP JavaScript Framework,針對前端引入接口開發機制,通過ZBPJF可以方便的自定義系統js事件處理,或注冊新事件,為應用開發者提供了便利。
自由引入JS模塊
在ZBP1.5+版本中,開發者將不再需要引入從前100+KB的zb_system/script/common.js了,你可以更加自由引用所需要的JS組件,現在你的主題頭部JS引用可以是這樣的
<!--- cdn 引入自定義jq版本 ---><script src="//cdn.bootcss.com/jquery/2.2.4/jquery.min.js" type="text/javascript"></script><!--- 引入ZBPJF ---><script src="{$host}zb_system/script/zblogphp.js" type="text/javascript"></script><!--- 引入系統動態 JS ---><script src="{$host}zb_system/script/c_html_js_add.php" type="text/javascript"></script><!--- 引入主題自定義 JS ---><script src="{$host}zb_users/theme/{$theme}/script/common.js" type="text/javascript"></script>
簡化前端事件處理
事件綁定說明:
- 綁定:用于創建一個監聽器,監聽事件的發生。
- 解綁:用于解綁一個監聽器,如系統
comment.reply
將產生一次頁面跳轉,導致js中斷執行,這時候就需要解綁再綁定新處理代碼
在 zb_users/theme/THEMEID/script/common.js
中你只需綁定需要的事件進行個性化即可,如
//解綁系統事件zbp.plugin.unbind("comment.reply", "system");//綁定評論回復事件,點擊回復按鈕時移動評論框zbp.plugin.on("comment.reply", "THEMEID", function(id) { var i = id; $("#inpRevID").val(i); var frm = $('#divCommentPost'),cancel = $("#cancel-reply"); frm.before($("<div id='temp-frm' style='display:none'>")).addClass("reply-frm"); $('#AjaxComment' + i).before(frm); cancel.show().click(function() { var temp = $('#temp-frm'); $("#inpRevID").val(0); if (!temp.length || !frm.length) return; temp.before(frm); temp.remove(); $(this).hide(); frm.removeClass("reply-frm"); return false; }); try { $('#txaArticle').focus(); } catch (e) {} return false;}); //綁定評論取得事件(一般是翻頁等操作),取消回復狀態(即取消評論框移動)zbp.plugin.on("comment.get", "THEMEID", function (logid, page) { $('span.commentspage').html("Waiting..."); $.get(bloghost + "zb_system/cmd.php?act=getcmt&postid=" + logid + "&page=" + page, function(data) { $('#AjaxCommentBegin').nextUntil('#AjaxCommentEnd').remove(); $('#AjaxCommentEnd').before(data); $("#cancel-reply").click(); });}) //綁定回復成功事件,成功發表后取消回復狀態zbp.plugin.on("comment.postsuccess", "THEMEID", function () { $("#cancel-reply").click();});
應注意:THEMEID 是指你的主題或者插件ID,以便其它APP解綁,防止沖突。
更多系統事件代碼請參考: zblogphp.orig.js
版權聲明:若文中沒有特別聲明皆為原創文章,轉載時請以鏈接形式注明文章出處與原文鏈接。
非書面授權,禁止轉載。本作品采用 CC BY-NC-ND/2.5/CN 許可協議。
如果幫您解決了問題,可以給小編打賞,小編不抽煙不喝酒,6元就夠吃個泡面了,感激不盡。
非書面授權,禁止轉載。本作品采用 CC BY-NC-ND/2.5/CN 許可協議。
如果幫您解決了問題,可以給小編打賞,小編不抽煙不喝酒,6元就夠吃個泡面了,感激不盡。