2011-02-10 7 views
0

私はAJAXディープリンクサイトを持っています。基本的な構造は、このようなものです:AJAXディープリンクサイトの埋め込みオブジェクトのスクリプトを実行する方法

<html> 
    <head> 
     ... 
    </head> 
    <body> 
     ... 
     <!-- AJAX will change the content of this div tag --> 
     <div id="ajax"> 
      ... 
     </div> 
     ... 
    </body> 
</html> 

ので、ここでの考え方は、AJAXは、URL(#query)のフラグメント値に応じて適宜<div id="ajax">の内容を移入することです。

ここが問題です。このことを考慮。ユーザーがページ#queryに行く、この後

<html> 
    <head> 
     ... 
    </head> 
    <body> 
     ... 
     <!-- AJAX will change the content of this div tag --> 
     <div id="ajax"> 
      <!-- content of the home page --> 
      ... 
     </div> 
     ... 
    </body> 
</html> 

:(#home)と、以下のロード - ユーザーが最初にこのページをロードします。このページを読み込むために、AJAXは<div id="ajax">タグのinnerHTMLを変更します。 #queryのコンテンツに埋め込みオブジェクト(この例では、FlowPlayerを使用した埋め込みビデオ)があるとします。 AJAXが完了すると、コードは次のようになります。

<html> 
    <head> 
     ... 
    </head> 
    <body> 
     ... 
     <!-- AJAX will change the content of this div tag --> 
     <div id="ajax"> 
      <!-- Flowplayer JavaScript component --> 
      <script src="flowplayer-3.2.4.min.js"></script> 
      <!-- The player container --> 
      <div id="player" style="width:720px;height:480px;"></div> 
      <!-- Player installation --> 
      <script> 
       flowplayer("player", "flowplayer.swf", { 
        clip: "video.mp4" 
       }); 
      </script> 
     </div> 
     ... 
    </body> 
</html> 

だからここに質問、私はこれを行うにしようとすると、次のスクリプトが実行されることはありませんので、ビデオがロードされることはありません:

私はこの問題を解決することができたり、私が何をやっている方法
<script> 
    flowplayer("player", "flowplayer.swf", { 
     clip: "video.mp4" 
    }); 
</script> 

は、違う?

何か助けていただければ幸いです。

EDIT私はこれを行うことにより、ajax divタグのHTMLコンテンツを交換するために使用さ

進捗報告書は:

document.getElementById("ajax").innerHTML = xmlhttprequest.responseText; 

私はこれまで、それを変更した:

var element = document.createElement("div"); 
element.setAttribute("id", "ajax"); 
element.innerHTML = xmlhttprequest.responseText; 
toswap = document.getElementById("ajax"); 
toswap.parentNode.replaceChild(element, toswap); 

これをFirefoxの問題を解決したので、<script>が起動しますが、ChromeとIEではまだ動作しません。

アイデア?

+0

何のようなあなたのAjaxコードルック - コンテンツをフェッチし、ページにDOMフラグメントを追加するコード? JavaScriptライブラリを使用して、Ajaxの処理に役立っていますか? – Pointy

+0

ディープリンクにSWFAddressを使用しています。次に、XMLHttpRequestを使用して取得したいファイルの内容を取得し、次にHTMLコンテンツをスワップする 'document.getElementById(" ajax ")。innerHTML = xmlhttprequest.responseText'を実行します。 – miki725

答えて

関連する問題