跳到主要內容

發表文章

目前顯示的是 2月, 2018的文章

解決$.ajax瀏覽器積存導致重複操作越來越慢的問題!!-教學撰寫:徐嘉裕Neil hsu

使用ajax非同步方式作內容編輯儲存,會發現同樣的操作次數越多,啟用程式速度越慢,最後整個程式就卡住不動了,像下面這樣的範例: 重複點選編輯 然後儲存,大概操作3次以上瀏覽器就會卡住! 解決方法只要在$.ajax加上cache,ifModified,async設定即可解決瀏覽器積存問題 function invoiceajaxbox($id,$suid,$invoiceid,$html,$receiverreturn,$list){ $.ajax({ url: xoopsjsurl + '/modules/neillibrary/ajax.php', type: 'POST', data: { id: $id, suid:$suid, invoiceid:$invoiceid, list:$list, receiverreturn:$receiverreturn }, cache:false, ifModified :true , async:false, success: function(response) { $($html).html(response); }, error: function() { console.log('ajax error!'); } }) } 加上紅字設定後 ,這樣即使用同樣操作100次瀏覽器也不會卡住,有需要的朋友參考看看!! 備註:只有在AJAX檔中呼叫的JS檔中執行的$.ajax才需要加上async:false, 啟用同步請求 教學撰寫: 徐嘉裕 Neil hsu

解決Xoops模組登入後設定user.php?xoops_redirect轉向頁面&之後變數被去除的問題-教學撰寫:徐嘉裕Neil hsu

在開發Xoops模組時候遇到一個問題,例如mail通知管理員前往查看訂單頁面 http://loveimag.myasustor.com/paulchan/modules/neilshop/shoppingcart.php?op=ordercontent&suid=1&orderid=6 然後這個頁面需要有會員權限才能觀看,所以如果沒登入情況點了連結會進到會員登入頁面,登入後返回網站首頁而不是連結頁面,Xoops本身有個個機制能夠在登入後返回原本連結頁面,就使用xoops_redirect變數 例如: //會員判斷 if(empty($xoopsUser)){  redirect_header(XOOPS_URL. "/user.php? xoops_redirect=/modules/neilshop/shoppingcart.php?op=ordercontent&suid=1&orderid=6 " ,0 , _MD_SHOPPINGCART01);   } 紅字部分為返回網址,傳給user.php?xoops_redirect接收,可以改成/modules/".$xoopsModule->getVar('dirname')./basename(__FILE__).$_SERVER[QUERY_STRING] 問題來了,xoops_redirect使用get方法接收變數,原本傳過去的/modules/neilshop/shoppingcart.php?op=ordercontent&suid=1&orderid=6 &之後的變數會被去掉變成 /modules/neilshop/shoppingcart.php?op=ordercontent 返回頁面,少了&suid=1&orderid=6就無法開啟正確的資料,相信很多朋友因該也遇到這問題,苦思之後終於想出解決方法,就是利用base64編碼功能先吧傳過去xoops_redirect的網址改成base64編碼格式,像是這樣 user.php?xoops_redirect=/modules/neilshop/shoppin