カテゴリー
未分類

JavaScriptで複数のページからソースを取得

多分使うことはないだろうけど、もうブログの記事のネタもないので。

言うまでもなくjQueryとxdomainajaxが必要。

ソースコードは以下

function getSiteSources(urls,func){
    sources=””;
    getSource(urls,0);
    function getSource(urls,num){
        if(urls[num]!=null){
            jQuery.get(urls[num],function(data){
                sources=sources+data.responseText+”<split>”;
                getSource(urls,num+1);
            });
        }else{
            res=sources.split(“<split>”);
            delete res[num];
            func(res);
        }
    }
}

これでgetSiteSources(urls[配列],取得後の動作)で一気に取得できる。

例)

urls=new Array();
urls[0]=”http://www.google.co.jp”;
urls[1]=”http://www.yahoo.co.jp”;
urls[2]=”http://axe1lyze.blogspot.com”;

getSiteSources(urls,function(data){
    i=0;
    for(i=0;data[i]!=null;i++){alert(data[i]);}
});

これで3つのウェブページのソースコードをダイアログで表示します。

 

使うタイミングがわからんな。

カテゴリー
未分類

JavaScript+PHPで無理やりリアルタイム通信

チャットを作っていてひらめいた。

今まではAjaxで連続的にデータを取得したいとき以下のようなコードを書いていた

intvl=500;
t=setInterval(“reload()”,intvl);
function reload(){
    jQuery.get(“url”,function(data){
        煮たり焼いたり(data);
    });
}

一応これでもできるが、これだとそのうち通信しなくなってしまう。

ぼーっとしていてふと思ったのが再帰的方法。なぜ今更思いついたんだろう。

ソースコードを以下のようにすればずっと放置していてもちゃんとデータを取得できる。

function reload(){
    jQuery.get(“url”,function(data){
        煮たり焼いたり(data);
        reload();
    });
}

これでreload()が呼び出されたときにそこから止まることなく連続で取得が始まる。

 

え?サーバーへの負荷?んなもん知らん。

というのもまずいので一応自分なりの対処方法を書いてみる。

以下の方法でサーバーへの負荷を軽減できる。

intvl=500;
function reload(){
    jQuery.get(“url”,function(data){
        煮たり焼いたり(data);
        setTimeout(“reload()”,intvl);
    });
}

intvlの値を大きくすればするほどサーバーへの負荷は減るが更新間隔が長くなる。

setIntervalであればclearIntervalでストップすることができるが、これだと起動してしまうとストップできないように見える。

 

一応対処法がふとひらめいたのでコードにまとめておく。

reloadFlag=true;
intvl=500;

reload();

function reload(){
    if(reloadFlag){
        jQuery.get(“url”,function(data){
            煮たり焼いたり(data);
            setTimeout(“reload()”,intvl);
        });
    }
}

こうしておけばreloadFlagの値をfalseにするだけでreload()を停止することができる。

カテゴリー
未分類

友達がGALAPAGOS 003SHにしたようです。

さっそく機種変更した本人よりいじり倒してきました。

3Dに関しては微妙。まぁまだ発展段階だし。

ブラウジングやタッチの反応も文句はない程度。

 

友達曰く「やっぱキーボード必要ですね。」

そりゃそうだろうね。

 

もうちょっと待てばGALAPAGOS 005SHが発売されたのだが。

まぁすぐに機種変更しなければならない状態だったので仕方ないですかね。

 

005SHいいなー。

HDMIもついてるみたいですね。

車にHDMI対応の小型ディスプレイをくっつけておけば・・・。