網頁

2012年10月12日 星期五

jQuery開發筆記-Travel

jQuery是非常好用的javascript的library,現在沒它我還真的寫不大出來好用的javascript,這邊做個筆記,主要是剛在用時,想要找上一個及下一個元素,及簡寫和全寫的記錄

等待load完再run
$(function(){ 程式內容 });
jQuery(document).ready(function(){ 程式內容 });

往上一個元素找
$(expression).prev([expr]);
jQuery(expression).prev([expr]);

往下一個元素找
$(expression).next([expr]);
jQuery(expression).next([expr]);

遞迴所有取得的元素
$(expression).each(function(){
    alert($(this).html());
});
jQuery(expression).each(function(){
    alert(jQuery(this).html());
});

取得子元素再一個個處理,例如要取得table下每個tr,有底下三種做法
直接在expression輸入目標
$("table tr").each(function(){
alert($(this).html());
});
jQuery("table tr").each(function(){
   alert($(this).html());

});
//其中table tr表示在table底下的第一層tr
//改成table > tr,這樣是限定tr在table接下來的第一層子結點,中間不能有其他不同的tag

使用children(這是tr為子結點時,一般也一定是)
$("table").children("tr").each(function(){
alert($(this).html());
);
jQuery("table").children("tr").each(function(){
   alert($(this).html());
});

//使用find(這方式是找尋table底下符合tr的子結點),效果如同第一種的$("table tr")
$("table").find("tr").each(function(){
    alert($(this).html());
});

jQuery("table").find("tr").each(function(){
    alert($(this).html());
});

參考網址:
jQuery 篩選元素 (Traversing)

iOS開發筆記-更換新的開發認證

iOS在申請時分個人及公司,公司雖然在申請時比較麻煩,但它的Member team可以直接請人加入,依那個人的權限,可以直接控制Provisioning Portal及iTune Connect,但個人是容易申請,但真的就是個人了,換電腦時,記得要將當時產生出來的Cert私鑰匯出到新電腦,否則只有重新來的地步

最近幫朋友一個案子,就是原案是別人做,但他申請時是個人,所以認證全都要重來 @@。以下就是做法

Step1. 登入iOS Dev Center
link: https://developer.apple.com/devcenter/ios/index.action

Step2. 點擊iOS Provisioning Protal



Step 3. 點擊Certificates


Step 4. 產生認證
應用程式 > 工具程式 >鑰題圈存取

選“憑證輔助程式”> “從憑證授權要求憑證”,使用者電子郵件及CA電子郵件都打入要用的電子郵件位址,再來就“下一步”即可。


以下是apple官方的做法
How to create a development certificate:

1. Generate a Certificate Signing Request (CSR) with a public key
In your Applications folder, open the Utilities folder and launch Keychain Access.
Choose Keychain Access > Certificate Assistant > Request a Certificate from a Certificate Authority.
In the Certificate Information window, enter or select the following information:
In the User Email Address field, enter your email address
In the Common Name field, enter your name
In the Request is group, select the Saved to disk option
Click Continue.
The Certificate Assistant saves a Certificate Signing Request (CSR) file to your Desktop.
The public/private key pair will be generated when you create the Certificate Signing Request (CSR) if you use the Key Chain Assistant to create the CSR.

2. Submit the CSR through the Provisioning Portal.
Click the Development tab
Upload the certificate by choosing the file
Click Submit

Step 5. 點擊Development,Revoke原本的認證再上傳剛才產生的認證即可

Step 6. 點擊Distribution,Revoke原本的認證再上傳剛才產生的認證即可

Step 7. 若原本已存在的Provisioning Profiles不需要刪除,只要重新修改,指定到新的認證就好

2012年10月9日 星期二

iOS開發筆記-原來誤會了UIAlertViewDelegate的alertViewCancel

好一陣子沒法好好寫的個筆記,事情都是成堆進來,不然就是浪費在無謂的事情上,例如這篇就是一例 orz

今天寫個function,是多個request發出去後,若沒有回應,則Alert個訊息出來,所以很簡單的如下寫了


UIAlertView *_alert =   [[UIAlertView alloc] initWithTitle: @"提醒" message: @"網路連線有問題" delegate: self cancelButtonTitle: @"OK" otherButtonTitles: nil];
_alert.delegate = self;  //這個應該是多餘的
[_alert show];
[_alert release];


因為是多個request可能都回傳fail,所以先設定這個class實作UIAlertViewDelegate再改成


if (__alerting == NO) {
    __alerting = YES;
    UIAlertView *_alert =   [[UIAlertView alloc] initWithTitle: @"提醒" message: @"網路連線有問題" delegate: self cancelButtonTitle: @"OK" otherButtonTitles: nil];
    _alert.delegate = self;
    [_alert show];
    [_alert release];
}



- (void)alertViewCancel:(UIAlertView *)alertView
{
    NSLog(@"Cancel!!");
    __alerting = NO;
}

本以為這樣是ok的,試半天都無效,看到另一個function: - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex,想想該不會預設cancel按鈕是index 0,alertViewCancel是另外一件事吧,再寫出

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    NSLog(@"button index: %i",buttonIndex);
    if (buttonIndex == 0) {
        __alerting = NO;
    }
}

這次就如我所想的了,回頭看alertViewCancel這function,找了找文件,才知道這是system去呼叫的....莫名其妙浪費一堆時間 orz

2012年10月4日 星期四

Wordpress開發筆記-修改密碼

早上為了要重設wordpress的密碼,搞了好久,以往直接去資料庫設定的方式居然行不通,總之,先講有三種方法

  1. 直接點選在登錄頁面下的“忘記密碼”,會再要求你輸入帳號或密碼
    但我正好沒設email...
  2. 用phpmyadmin進資料庫去設定,找到wp_user,找到自己的帳號,password那欄記得改用MD5
    不過不知道為什麼,我還是沒法設定
  3. 最後,也是我成功的方法,就去找到index.php,在第一行(或任何地方)加入
    $user = get_userdatabylogin('管理者帳號');
    wp_set_password('新密碼',$user->ID); 

真的氣死人了....

參考網址:
WordPress密碼健忘症群?註冊Email失憶症?輕鬆重設你的WP密碼!

2012年10月3日 星期三

IIS上不能使用ajax回應給html, htm的網頁

最近實在太忙,一堆草稿在文章中,堆到91篇了,但~這篇還是新加的,噗!幫朋友做了一個mail的功能,在他的虛擬機器上跑得很開心,一到客戶那邊就夭折了,原因是客戶用的是IIS,老天我還真沒用過,一直回應405,本以為是 mail問題,但客戶在php.ini設好stmp後就ok了,但405還是一直出現,查了查看到這篇Query富客户端框架 DWZ 之 Http 405原因是IIS不允许ajax访 html后缀的网页,才知道是IIS本身的問題,這篇寫的很詳盡。再附上HTTP error code好了,免得以後要找


參考網址:
Query富客户端框架 DWZ 之 Http 405原因是IIS不允许ajax访 html后缀的网页
網頁開發人員應了解的 HTTP 狀態碼