CSS div height 無法 100% 問題

height的100%即為父層高度的100%,
但div在body之下仍然沒有辦法達到100%,
主要原因是HTML所有物件都會包在body之中,
大部份人都知道都會在CSS開頭初始body,如下:

body{
margin:0;
padding: 0;
width:100%;
height:100%;
}

但html常常都會忽略,body外面還有一層html,html一樣需要被初始,如下 :

html, body{
margin:0;
padding: 0;
width:100%;
height:100%;
}

如此,初始了最外層的html & body為100%,裡面的物件才有可能被CSS設置到完全的100%[……]

閱讀更多

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.就沒問題,沒加就掛點了。

這又回到一個很可怕的議題了,當網站大量使用第三方API或framework,當版本越來越亂的時候,開始不向下相容的時候,當初以此來開發的專案,就會變得非常難維護了,工程屍頭又要抱著燒了。

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>

官網原文
http://api.jquery.com/jQuery.browser/

[……]

閱讀更多

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

11 IMAGETYPE_JPX
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;
}[……]

閱讀更多