2009-06-26 5 views
0

私はクライアントが既存のページを1つのページに動的に読み込ませたいというプロジェクトに取り組んでいます。これは問題ありませんが、ページがスタンドアロンファイルとして既存のサイトに読み込まれるときにスタイリングが機能しない場合があります。各ページからCSSのリンクを抽出し、それをビューアページに動的に適用する方法はありますか?ここで外部ファイルをcssでそのままロードしていますか?

は、私は、ビューアページに外部ページを呼び出すために出て書いた関数のコピーです:私は疑問にdiv要素に厳密にそれを適用したいと思い

$(function() { 
$('a.dock-item2').click(function() { // click on an anchor with the dock-item2 class 
    $("#page").remove();    // remove what's in the viewer already 
    var href = $(this).attr('href'); // grab the external file path and name 
    $('<div id="page" />').load(href, function() { // create a new div and load 
                 // the page content 
    $(this).hide()    // just stuff to make a nice transition... 
    .appendTo('#viewer') 
    .fadeIn(1000); 
    });     
return false; 
})}); 

を...しかし、多分それISN一番いいことはありません。代わりにこのものをiframeに読み込むことを検討する必要がありますか?たぶん金曜日だからもう合理的に考えることはできません...

助けを借りてアドバイスをしてあげてください!

答えて

0

jQueryのajax機能を使用すると、リモートページからの非ボディタグ(ボディ内に存在しないタグ)を取得することが困難/不可能になります。つまり、これが当てはまる場合は、PHPスクリプトをローカルにセットアップして中間の人間として動作させることができます。ページの内容を読み込み、cssファイルを見つけて返したり、cssファイル自体の内容を返すこともできます。そして、ページに動的に配置することができます。特に、phpQueryのようなものを使用して<script>タグを取得する場合や、phpQueryに似ているPHPSimpleHTMLDOMParserを使用する場合は、これはあまり難しいことではありません。

仮にすべてiframeをロードしたければ、もちろん可能です。これにより、すべてのリンクがiframe内で操作可能になります。

+0

ここではPHPが良いソリューションかもしれないと思っていましたが、jsの回避策があるかどうかを確認しようとしていました。 Meh、大したことはありません...私が退屈する今週末に働く何かを私に与える!助けてくれてありがとう!! –

+0

この前の回答もチェックしてください:http://stackoverflow.com/questions/1050333/jquery-ajax-parse-response-text/1050344#1050344 – Sampson

+0

リンクありがとうございます。私はRTFMに本当に役立つと思うし、愚かな質問をしません。 ;) –

0

JavaScriptを使用していません。多分fopen fwrite関数を使用してPHPで、しかし私は確かにオーバーヘッドの多くが付属していると思う。

関連する問題