% (百分比符號):代表零個、一個、或數個字母。[……]
標籤: 筆記
JQuery 清除表單所有欄位資料 form input reset
<script> $(document).ready(function(e) { $(".clear_btn").click(function(e){ $('#edit_member')[0].reset(); }); }); </script>
[……]
href=”javascript:void(0);” 設定無作用連結 – a 標籤 href 不作任何動作
有時候我們需要用a標籤去綁定一些Javascript or JQuery事件,不是真的要做為連結之用,但是a標籤又必需設定 href , 這時大部份人就會在href加#號,但其實加#號仍然是連結,等同換了另一頁,網址末端也會加上#號(如:http://www.aaa.com#),這並不是最理想的狀況,我們不希望它做任何動作,以下寫法a標籤緊會執行javascript的事件,除此之外不會有其他動作。我們也可以比較以下兩種寫法的差異。
javascript 寫在行內
<!-- A標籤還是有動作 --> <a href="#" onclick="alert('hello')">沒有作用</a> <!-- A標籤不會有任何動作 --> <a href="javascript:void(0);" onclick="alert('hello')">沒有作用</a>
jQuery解法
html:
<a href="#">沒有作用</a>
jQuery
/** * VECTOR COOL * https://vector.cool */ $(document).ready(function(e) { $('a').click(function(e){ e.preventDefault(); }); });
[……]
JQuery 1.9+ 之後 $.browser 無法使用(解決方法)
官網文件上指出 jQuery.browser 這物件在 jQuery 1.9 中被刪除,現在只能用 jQuery.migrate plugin. 才有辦法使用,如果我沒說錯的話 jQuery.migrate plugin. 就是新舊版本交替,可能會產生很多問題的一個過渡的工具,不然以前使用 jQuery.browser 判斷瀏覽器寫出來的plugin不就都死光光,我剛試了一下,加上jQuery.migrate plugin.就沒問題,沒加就掛點了。
jQuery.migrate plugin.下載
http://jquery.com/download/
直接引用
<script src=”http://code.jquery.com/jquery-1.10.1.min.js”></script>
<script src=”http://code.jquery.com/jquery-migrate-1.2.1.min.js”></script>
[……]
JQuery $.browser 判斷瀏覽器及瀏覽器版本
判斷瀏覽器
$(function() {
if($.browser.msie) {
alert("this is msie");
} else if($.browser.safari) {
alert("this is safari!");
} else if($.browser.mozilla) {
alert("this is mozilla!");
} else if($.browser.opera) {
alert("this is opera");
} else {
alert("i don't konw!");
}
瀏覽器類型
msie ie瀏覽器(Microsoft Internet Explorer)
safari safari
mozilla firefox瀏覽器 opera opera
取得瀏覽器版本
$.browser.version
實例
<script src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<script src="https://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script type="text/javascript">
if($.browser.msie){//若是ie流覽器
alert("用的是Firefox,版本:"+$.browser.version);
//ie8以下的ie流覽器:$.browser.version返回是string(字串,用parseInt轉成number(數值)類型)
if(eval(parseInt($.browser.version))<8){
alert("IE版本小於8");
}
}else if($.browser.chrome){
alert("用的是Chrome版本:"+$.browser.version);
}else if($.browser.mozilla){
alert("用的是Firefox,版本:"+$.browser.version);
}else if($.browser.safari){
alert("用的是Chrome,版本:"+$.browser.version);
}else if($.browser.opera){
alert("用的是Opera,版本:"+$.browser.version);
}
</script>
延伸閱讀
JQuery 1.9+ 之後 $.browser 無法使用(解決方法)
http://vector888.blogspot.com/2013/08/jquery-browser.html
[……]
PHP bmp 縮圖時產生 Call to undefined function imagecreatefrombmp() 解決方法
Fatal error: Call to undefined function imagecreatefrombmp()
其實PHP的確沒有 imagecreatefrombmp() 這個 function ,解決方法就是引入下列文件 ,就有imagecreatefrombmp()啦~解決~
點擊下載 imagecreatefrombmp.inc.php
https://docs.google.com/file/d/0B0WjmRBDYP2fZGl1U1dnMUpNdFk/edit?usp=sharing
但是輸出bmp的時候問題又來了,PHP bmp輸出的圖片無法開啟,
用magewbmp()這個function,很怪,
估狗了一下好像不只我有這種狀況,
有人是使用imagejpeg()來替代magewbmp()輸出,
沒辦法問題還是要解,我目前也是用者種方法,
若有高手剛好就知道有更好的解法請不吝與大家分享~謝謝
解決方法:
有人是使用imagejpeg()來替代magewbmp()輸出,
//magewbmp($image, $file ); //bmp輸出無法開啟
imagejpeg($image, $file , $quality );[……]
PHP Imagetype 常數對應表
■藍色標記是我
1 IMAGETYPE_GIF
2 IMAGETYPE_JPEG
3 IMAGETYPE_PNG
4 IMAGETYPE_SWF
5 IMAGETYPE_PSD
6 IMAGETYPE_BMP
7 IMAGETYPE_TIFF_II (intel byte order)
8 IMAGETYPE_TIFF_MM (motorola byte order)
9 IMAGETYPE_JPC
10 IMAGETYPE_JP2
12 IMAGETYPE_JB2
13 IMAGETYPE_SWC
14 IMAGETYPE_IFF
15 IMAGETYPE_WBMP
16 IMAGETYPE_XBM
17 IMAGETYPE_ICO
原文:http://php.net/manual/en/function.exif-imagetype.php[……]
過濾script…等可能引入惡意內容或惡意改變顯示布局的代碼
//過濾 <script 等可能引入惡意內容或惡意改變顯示布局的代碼,如果不需要插入flash等,還可以加入<object的過濾
function filter_danger_code($str)
{
$farr = array(
“/s /”, //過濾多余的空白
“/<(/?)(script|iframe|style|html|body|title|link|meta|object|?|%)([^>]*?)>/isU”, //過濾 <script 等可能引入惡意內容或惡意改變顯示布局的代碼,如果不需要插入flash等,還可以加入<object的過濾
“/(<[^>]*)on[a-zA-Z] s*=([^>]*>)/isU”, //過濾javascript的on事件
);
$tarr = array(
” “,
“<\1\2\3>”, //如果要直接清除不安全的標簽,這里可以留空
“\1\2”,
);
$str = preg_replace( $farr,$tarr,$str);
return $str;
}[……]
CKEditor整合JQuery的調配器Adapters
http://docs.ckeditor.com/#!/api/CKEDITOR_Adapters.jQuery
只支援4.2版
要引入 adapters/jquery.js
$(‘#editor_simple’).ckeditor()
$(‘#editor_simple’).ckeditor({
toolbar:’Basic’,
width:’100%’,
height:150
})[……]
CKEditor4 自動清除內容標籤問題的解決方法
CKEditor4 自動清除內容標籤
但在 CKEditor 中 CKEDITOR.editor.filter 會過濾掉一些沒開放功能的內容或程式碼
舉例來說:
上面這編輯器並沒有開放 iframe 這功能,但倘若我想要貼上 youtube 分享的嵌入HTML碼,而 youtube 的 HTML 就是由 <iframe> 方式嵌入的,youtube嵌入的Code如下:
<iframe width="560" height="315" src="//www.youtube.com/embed/9ATcxIOeDiY" frameborder="0" allowfullscreen></iframe>
我們開啟原始碼的編輯模式,貼上這一段code,做嵌入影片的動作後,在切換回所見即所得編輯方式的同時CKEDITOR.editor.filter就會過濾掉一些沒開放功能的內容,如上圖沒開放的iframe工具,如此我們因為沒有開放iframe工具就沒有辦法貼入youtube的iframe嵌入碼,其實這很合理,某些時候是一種很棒的限制內容功能,不過有些時候這或許並不是我們想要的,我們可能希望可以在不提供iframe的工具下,僅能用原始碼貼上的方式貼入 youtube 的 iframe。
解決這問題 CKEditor 也提供了2個解決方法:
在 CKEditor 配置檔 Config.js 設定
方法一:
config.allowedContent=true;
把allowedContent設定為true就是吧CKEDITOR.editor.filter這功能關閉,不去過濾任何內容,這方式不只針對 iframe,而是所有不開放功能都不會再被過濾了,雖然很方便,但少了一層的限制或許會擔心安全性的問題,所以我們還有第二種方法可選擇。
方法二:
CKEDITOR.editor.filter仍然運作,但允許開放部份不支援功能
config.allowedContent=false; config.extraAllowedContent='iframe';
便只允許iframe的操作,若允許的工具有多項就用空格分隔,如下
config.extraAllowedContent='b i iframe';
[……]