- - PR -
dojo1.1でのinnnerHTML
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-09-10 21:02
こんにちは。
dojo1.1を使って非同期通信をしています。 単純にURL先にテキストファイルがあり、HTML書式のソースを取得しているだけですが、 innnerHTMLを使ってセットするとIE6しか正常にセットされませんでした(中身はdojoのタグライブラリ)。他に検証しているのはFireFox3.0,Opera0.95,Safari3.1,Choromeです。 データ自体は取得できているのですが、タグが認識されない形で、メニューバーのように表示されるはずが、アイテム名だけしか羅列されません。 そのURL先のテキストをそのまま貼り付けると普通に表示されるのですが・・ function get_menu() { filename = "http://test.com/sample/sample.txt"; dojo.xhrGet( { url: filename, handleAs: "text", timeout: 1000, load: function(response, ioArgs) { dojo.byId("menu").innerHTML = response; return response; }, error: function(response, ioArgs) { console.error("HTTP status code: ", ioArgs.xhr.status); return response; } }); } <div id="menu"></div> お分かりになる方ございましたら、よろしくお願いします。 | ||||
|
投稿日時: 2008-09-11 01:38
| ||||
|
投稿日時: 2008-09-11 08:55
dojoは使ったことがないのではずしているかもしれませんが、
“sample.txt”が“sample.html”でも動きは同じですか? (Content-Typeによる動作の違いはありませんか?) | ||||
|
投稿日時: 2008-09-11 09:30
ありがとうございます。
Dojoのサンプルはかなり豊富でUIが他のprototype,jQeryよりも優れており、日本語文献は少ないですが、何とか実装を試みています。また、クロスブラウザにも対応しており、IE6,Safari,FireFox,Opera,Choromeの最新版でも動きました。(FireFox3では動作が遅い気がします) 指摘いただいたalertを出す件ですが、しっかり取得できていました。 また、HTMLに変えたのも結果は同じでスタイルシートが効いていない or Dojoのタグを認識するタイミングがずれている感じです。(おっしゃるようにContent-type=textが問題かもしれません・・) やはり、innerHTMLでセットの仕方がまずいのかと思ってます。(document.writeでも試してみます) また、お分かりになる方ございましたら、よろしくお願いします。 | ||||
|
投稿日時: 2008-09-13 11:23
自己解決です。
dojoの基本的な流れが分かっていませんでした。 パースのタイミングがあり、明示的に指定する事でできました。 dojo.parser.parse(); |
1