2011-08-13 8 views
0

phpQueryライブラリ(http://code.google.com/p/phpquery/)を使用してWebページを解析していますが、Ajaxを使用してすべてのコンテンツを表示する問題を見つけました。phpQuery - iframeコンテンツがロードされるまでPHPスクリプトを待機させます

私は、IFRAME(作品以下のコード)にして、それをロードする場合、私はすべてのコンテンツを得ることができることをしてきました:

$temp = phpQuery::newDocumentHTML('<iframe src="" id="test">a</iframe>')->find('iframe[id=test]')->attr('src', 'http://www.example.com/'); 
echo $temp; 

をしかし、私の質問は、私は私のPHPスクリプトを得ることができるか、です続行する前にiframeが読み込まれるまで待つ?

以下はjQueryと同等ですが、誰かがphpQueryを使って同等の処理を行う方法を知っているのだろうかと思いましたか?

$(iFrame).attr('src', 'http://www.example.com'); 
$(iFrame).load(function(){ 
    alert("Loaded"); 
}); 

ありがとうございます。

+1

phpQuery =/jQuery、phpQueryはiframe SRCを読み込みません。 iframeは空のままです。 – hakre

答えて

2

しかし、私の質問は、iframeが読み込まれるまで待つようにPHPスクリプトをどうやって進めるのですか?

これは、PHP側のHTML解析がどのように機能するかではありません。 phpQueryはHTMLコードを解析するだけで、は実行されません。は、iframeのロードやレンダリング、JavaScriptイベントの実行などがあります。

おそらくあなたがしたいことをする方法があります - それが何であるか教えてください!

+0

あなたのお返事ありがとう@Pekka。 例:nfl.comからのスコア(メインナビゲーションの真下の灰色のバー)を解析したいとします。私は現在、スコアがajaxによってロードされるので、iframeにロードせずにこのバーの値を取得することはできません。しかし、iframeにページを読み込むと(オリジナルの投稿のコードに示されているように)、スクリプトは処理を続行する前にiframeが完全に読み込まれるのを待ちません。 Ajaxコンテンツを含むWebページをphpQueryで解析するための変数にロードする方法について知っていますか? もう一度ありがとうございます。 – Rook

+0

@userこれはphpQueryだけでは不可能です.HTMLは解析しますが、JavaScriptは実行しません。たぶんこれは役立ちます:[PHPでjavascriptを実行する](http://stackoverflow.com/q/2699180) –

関連する問題