Steveから返事は来たものの、まだ、解決策はない・・・。はて、どうしたものか・・・。Steveは考えるようなことを言っていたけど、今のところ、解決時期は未定・・・。
カテゴリー: Apache
document.write問題の解決策はないのか
今のところ、解決策が思いつかないので、とりあえず、Steveにもふっておく。まぁ、引き続き調査は必要だけど、何か解決策を持っているかもしれないしね。出した内容は以下のような感じ。
I encountered JavaScript issue(I think that Tomahawk
components have this issue..).
If portlet returns the following content, J2Desktop
extracts <script>...</script> and then performs it
by eval().
--- BEGIN CONTENT ---
Text 1
<script>
document.write("Text 2");
</script>
Text 3
--- END CONTENT ---
But, in this case, the result will be:
--- BEGIN CONTENT ---
Text 1
Text 3
--- END CONTENT ---
Hmm, I wonder if we can put "Text 2" between "Text 1"
and "Text 3".. Do you have any solutions?
問題をまとめておくと、AjaxでHTMLコンテンツを取得して、それを表示するときにscriptタグでdocument.writeとかされているときには、どう処理すればよいのだろう、と言った感じ。どうすんだろ?dojoもこれに対応しているようには見えない気がするし・・・。アイディア募集中(^^;
J2Desktop問題
jsファイルの読み込みで、なぜか、改行がめちゃくちゃになるファイルがある。これは原因がさっぱりわからん。ということで、仕方がないので、ContentPane.jsの_executeScriptを使うのやめて、dojo.io.bindをtext/javascriptでjsファイルを読み込んでしまう方法を適用してみる。っで、ふと気づいたのだが、jsファイルでないscriptタグでdocument.writeみたいなものは、後から読み込んだときにどうやって処理すればよいのだろうか・・・。このタグを抽出して、evalを実行したら、正しくdocument.writeされるとは思えんし・・・。HTMLを丸ごと渡して、JavaScriptのところだけをevalみたいなことはできるのだろうか・・・。