2011-10-25 2 views
0

私はバックグラウンドでページを読み込むための "as-as-as-possible"ソリューションを実装しようとしています。私はかなりhtml内の特定の要素を、ajaxのスタブから来るものと置き換えたいだけです。実際に、それはページ全体だ - 私のAJAXスタブはかなり単純ですAJAX htmlスタブ - ヘッド要素をクリアするのは現実的ですか?

  1. JavaScriptの依存関係のタイトル

を設定

  • スタイリングの依存関係
  • :私は、標準の問題に実行もちろんしましたheadやbodyという名前のタグに入れてはいけません(jQuery/browserではこれらのノードの解析が嫌いです)。例えば:

    var stub = $(ajaxHTML); 
    var head = $(document).find('head'); 
    
    // empty the current head -- later on we'll just empty things like title 
    head.empty(); 
    
    // add all the crap 
    stub.find('stub-head').children().appendTo(head); 
    

    それとも、これは本当に悪い考えです:?

    <html-stub> 
        <head-stub> 
         <title>Page Title</title> 
         <script type="text/javascript" src="somescript"></script> 
         <link rel="stylesheet" type="text/css" href="somestylesheet"> 
        </head-stub> 
        <article>Some Content to replace in the origin document</article> 
    </html-stub> 
    

    のような何かを行うことは完全に愚かな/実用的/それは安全ですか私は現代のブラウザでテストしましたが、それは正常に動作するようですが、古いブラウザにも落とし穴がありますか?

  • 答えて

    1

    あなたのしていることには問題はありません。あなたは、JSやjqueryテンプレートを使って簡単に行うことができます。また、このアプローチでSEOとアクセシビリティを考慮したと仮定します。

    1

    動的コンテンツは、通常、xmlやjsonのような形式で送信されます。あなたのスタブは本当にxmlです。次に、目的のノードのinnerhtmlプロパティを設定します。それはあなたがやっていることにかなり似ています。あなたのノードidプロパティを与えてみてください。その後、より簡単にアクセスできます。

    document.getElementsByTag('p')[4].innerhtml = some_variable; 
    

    または

    document.getElementByID('dynamic_li').innerhtml = your_text; 
    
    :あなたのような何かを言うことができます
    関連する問題