跳到主要內容

發表文章

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

ajax+js+php點選瀏覽器返回上一頁自動更新頁面程式-教學撰寫:徐嘉裕Neil hsu

網站很多功能都怕遇到user點選瀏覽器的返回上一頁功能,例如前一頁有某功能是需要購過js計算後顯示在容器中的結果數值,像是2*500=1000之類的算式,如果user點選送出後又返回上一頁,input中的數值還會保留,但容器的數值卻歸零(需要觸發計算),如果user又從送出一次表單那寫入的數值一定不正確,最好的解決方法就是當usre返回上一頁後瀏覽器自動更新頁面(同F5),經過許多嘗試後以下方法確實可以解決問題。 假設當前網址為 http://localhost/xoops/modules/test/index.php?op=storedvalue 如果只針對IE事情就簡單了,完全不需要動用到PHP,只需要在樣板貼上 <script type="text/javascript"> if (!!(window.history && history.pushState)){ var $time = (+new Date()); history.pushState({page: 1}, 'title 1', "?op=storedvalue&back="+$time+""); history.state } </script> 這樣進入到http://localhost/xoops/modules/test/index.php?op=storedvalue JS會以時間戳產生back變數值,例如 http://localhost/xoops/modules/test/index.php?op=storedvalue&back=1524612144000 當USER點選返回上一頁時間戳數值會改變,實際上也等於不同的頁面,頁面會更新,但很不幸的, 這方法對於Google Chrome瀏覽器一點用都沒有 ,完全不會刷新頁面...................所以為了能夠讓Google Chrome瀏覽器返回上一頁頁也能自動更新頁面,只好動用到PHP的$_SESSION功能。 方法如下: 在PHP檔案輸出time()時間戳格式 $xoopsTpl->assign( &qu

好用的windows備份檔案dos指令XCOPY-教學撰寫:徐嘉裕Neil hsu

要快速的備份某個硬碟全部資料到備份硬碟中,雖然是可以用windows內建的備份與還原,但如果重灌windows可會有key不同而無法還原的問題,還要改一堆設定煩死了,直接用dos指令XCOPY來做檔案的複製就很快了,資料也不會丟失,好朋友可以參考看看!! 首先開啟windows所有程式->附屬應用程式->開啟命令提示字元! 然後輸入以下指令 XCOPY C:\xxx   F:\xxx /s 藍字的 C:\xxx  為複製檔案來源位置例如要複製整個C槽就輸入 C:\ 綠色的   F:\xxx 為複製目的位置,例如要放到F槽的備份資料夾,就輸入  F:\ 備份 紅字的 S 為複製類型參數,可以自行修改為以下的參數設定: ================================================================= /A    只複製設定成保存屬性的檔案,不要改變屬性的設定。 /M    只複製設定成保存屬性的檔案,並清除保存屬性。 /D:m-d-y  複製指定日期當天或之後變更的檔案。如果沒給日期,只複製那些來源檔案日期比目的檔案日期為新的檔案。 /EXCLUDE:file1[+file2][+file3]...         指定檔案清單字串。每個字串應在不同行。如果有字串對應到要進行複製的檔案絕         對路徑的任何部分,這個檔案會被排除複製。例如,指定字串         \obj\ 或 .obj 的話,會排除所有在 obj 目錄下副檔名是.obj 的檔案複製。 /P    在建立每個目的檔案時顯示提示。 /S    複製每個目錄及其包含的子目錄,不複製空目錄。 /E    複製每個目錄及其包含的子目錄,也複製空目錄。/S 與 /E相同,能夠用來修改 /T。 /V    驗證每個新檔案。 /W    在複製之前提示您按鍵繼續。 /C    如果錯誤發生時也繼續複製。 /I    如果目的不存在且複製一個以上的檔案的話,就假設指定的目的一定是目錄。 /Q    在複製時不要顯示檔名。 /F    在複製時顯示來源及

好用的JS計數器countUp.js套件!!-教學撰寫:徐嘉裕Neil hsu

countUp.js套件是一個非常好用且設定簡單的計數器套件,好朋友可以去他們的Demo網站看一下效果: http://www.htmleaf.com/Demo/201501271287.html 要使用很簡單,先去下載countUp.js套件回來 https://github.com/inorganik/countUp.js 解壓縮後,吧js裡面的countUp.js放到模組或佈景的JS資料夾裡面,引入即可!! $xoTheme->addScript(XOOPS_URL.'/modules/模組名稱/js/countUp.js'); 然後再要顯示計數器的樣板上貼上以下HTML結構  <div class="jumbo" id="myTargetElement">0</div> 再於佈景或模組的JS檔中加上以下的設定值即可運作,這些值參之後都能改由AJAX引入數值,成為實際的統計數據。 $(document).ready(function(){ myTargetElement(); function myTargetElement(){ var options = { useEasing : true, useGrouping : true, //進位 separator  : ',', decimal : '.', prefix : '', //前面留幾個0 suffix : ''  //後面留幾個0 } // 開始值 , 結束值 ,小數點,執行速度 var demo = new countUp("myTargetElement", 0 , 8888888888 , 0, 2.5, options); demo.start(); }    }); 其中 綠字 為計數器的開始預設值, 紅字 為結束值,也就是顯示在計數器上的最終數值, 之後這兩個參數可替換為AJAX回傳的資料庫數值即可運作。 最後加上CSS設定  .jumbo { margin:0; color:#EC4365; f

$.ajax偵測秒數自動更新function取得最新資料的方法(只更新內容區塊不刷新頁面)-教學撰寫:徐嘉裕Neil hsu

用過FB的朋友一定有發現一個有趣的功能,就是在人氣旺的粉絲團留言,有時候還沒輸入完內容前面就冒出其他的人留言回覆了,但都沒刷新頁面,其實這樣功能用setInterval()+$.ajax就能實現了,也不會很消耗user端瀏覽器效能,方法如下: 要顯示資料的內容區 <div id='test'></div> 執行$.ajax的JS檔案code $(document).ready(function(){ //第一次讀取  $returntrue=cartnumber(); //自動更新 if( $returntrue ){ setInterval(function(){ cartnumber() ; }, 10000 );  //預設 10000 毫秒自動重複執行 cartnumber()函數 } function cartnumber() { $.ajax({ url: xoopsjsurl + '/modules/neillibrary/ajax.php', type: 'POST', data: { id: '1'}, success: function(response) { $('#test').html(response); }, error: function() { console.log('ajax error!'); } }) }    return true; }); 這樣#test的內容資料就會按setInterval設定的10000豪自動更新一次,若此期間有新的資料寫入ajax會自動更新區塊內容,不用刷新瀏覽頁面,很方便實用的功能!!有需要的朋友參考看看!! 教學撰寫: 徐嘉裕 Neil hsu

CentOS7安裝xampp-linux的方法教學-教學撰寫:徐嘉裕Neil hsu

先吧CentOS7架設起來,然後進到xampp官方網站尋找要下載版本( 須為XAMPP for Linux ): https://www.apachefriends.org/download.html 然後滑鼠滑到Download 按右鍵->複製連結網址 得到以下的連結: https://www.apachefriends.org/xampp-files/7.0.32/xampp-linux-x64-7.0.32-0-installer.run 接者使用pietty或是ssl遠端連線軟體連入CentOS貼上下載網址(wget指令) wget https://www.apachefriends.org/xampp-files/7.0.32/xampp-linux-x64-7.0.32-0-installer.run 下載檔案預設是放在 /root資料夾裡面 然後開始下載檔案 完成下載後,輸入以下指令執行安裝檔!! sudo ./ xampp-linux-x64-7.0.32-0 -installer.run  (紅字為檔名) 或是 sudo chmod 755 xampp-linux-x64-7.0.32-0 -installer.run sudo ./ xampp-linux-x64-7.0.32-0 -installer.run 然後一路Y到底,然後啟動XAMPP sudo /opt/lampp/lampp start 這樣就完成xampp-linux的安裝工作,輸入網址或IP位置就能看到XAMPP的首頁說明。 如果看不到頁面應該是SELinux設定(防火牆)的問題! 請參考這篇教學 https://neohsuxoops.blogspot.com/2018/10/centos7-selinux.html 網頁根目錄位置在 /opt/lampp/htdocs 另外還需要設定xampp隨伺服器自動啟用,這樣伺服器如果有關機再開機xampp就會自動啟用。 #ln -s /opt/lampp/xampp /etc/rc.d/init.d/xampp #chkconfig --add xampp #chkconfig xampp on