質問

私は現在、ロザスタイルポップアップする負荷でHTMLからXHRます。このコンテンツが表示される"モーダル'ポップアップを使用 element.innerHTML = content このように働きます。

別にこのホームページ内の各コーナーを使用していFlickr'バッジ'(http://www.elliotswan.com/2006/08/06/custom-flickr-badge-api-documentation/)への負荷の画像をflickrます。この行を含むスクリプトタグを読み込むflickr javascript、い document.write statments.

の両方を持っている通常のマシニングセンターに含まれます。み込む場合には、flickrバッジコード 内部 lightboxを、コンテンツが描画されます。この利用 innerHTMLdocument.write 諸でステップも達成できなかったことは見つかのjavascriptの実装(FF2&3,IE6&7)この行動です。

誰でもできるので明る場合ははいけない。感謝。

役に立ちましたか?

解決

一般、スクリプトタグのない実行時innerHTML.お場合、これは良いので、 document.write 電話が払拭すべてのページです。しかし、だけないHTMLドキュメント書きになった。

jQueryのHTMLの操作方法でスクリプトの実行をHTMLにおける、フレキシビリティを撮っての通話を document.write をHTMLに適切な場所です。だものの、その後もこのような:

var content = '';
document.write = function(s) {
    content += s;
};
// execute the script
$('#foo').html(markupWithScriptInIt);
$('#foo .whereverTheDocumentWriteContentGoes').html(content);

で複雑なものです。の場合はスクリプトを別のドメインで搭載非同期的にうまで待たなければならないものの取得を行います。また、どんな場合で書き込み、HTMLの中間の断片なラッパーの要素を簡単に選択? writeCapture.js (開示んで取り扱う全てのことです。されています。だけでも、少なくとも楽しみがさらに広がるでしょう、それはどのように扱います。

編集:こちらは ページ 実証とはどんな音かのように影響しています。

他のヒント

作成した簡単なテストページに掲載している問題:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
        <title>Document Write Testcase</title>
    </head>
    <body>
        <div id="container">
        </div>
        <div id="container2">
        </div>

        <script>
            // This doesn't work!
            var container = document.getElementById('container');
            container.innerHTML = "<script type='text/javascript'>alert('foo');document.write('bar');<\/script>";

            // This does!
            var container2 = document.getElementById('container2');
            var script = document.createElement("script");
            script.type = 'text/javascript';
            script.innerHTML = "alert('bar');document.write('foo');";
            container.appendChild(script);
        </script>
    </body>
</html>

このページにアラート'bar'と版画'foo'がまもアラート'foo'に印刷'bar'.が、残念ながら、 script タグのようにHTMLページできないバランスを欠いているタグ追加その例です。もできますが、要するスキャン innerHTML コンテンツ script タグと置き換えることにより、プレースホルダ文字列を挿入しているDOM.音のない その るようにします。

使用 document.writeln(content); の代わりに document.write(content).

しかし、最適な方法を使用して連結した文字列 innerHTML, このよう:

element.innerHTML += content;

element.innerHTML = content; 法の旧コンテンツを、新しいもので上書きのご要素のinnerHTML!

その += オペレーター element.innerHTML += content; 追加テキスト後の内容です。(何をどのような document.write ます。)

document.write は非推奨されています。その素晴らJavaScriptができるため、割り当て独自の機能を write の方法 document オブジェクトを利用し innerHTML は、要素の追加を供給します。

見たいので一部明ら初めて確認を取得します。

document.write 電話に追加コンテンツのマークアップのマークアップで示すのである。例えば場のニーズに合わせてさまざまな document.write 呼び出し関数が呼び出、他の場所での document.write 出力起点のマークアップの機能 定義 ないで という.

そのためこのFlickrより document.write 算する必要があるの contentelement.innerHTML = content.この場合には?

が素早く試験の場合は全てを単一のシ document.write お電話のコンテンツとして設定されているの innerHTML 何これは:

<script>
  var content = "<p>1st para</p><script>document.write('<p>2nd para</p>');</script>"
  element.innerHTML = content;
</script>

その作品の概念 document.write 作業コンテンツとして設定さ innerHTML の要素があった。

私の直感で動作しませんが、では非常に簡単での試験、コンセプトです。

いをDOMメソッドを script 要素を追加する既存の要素こそがコンテンツの追加 script 要素を実行?いいですね。

と言っているが、スクリプトタグのようにHTMLページにすることはできません指摘することができる。することはできないので、スクリプトタグのIDと対象です。私も何かが足りないか。

理論上は、はい、可能でバランスを欠いているスクリプトタグをすることができてうれしいです。問題は、その潜在的には数十の状況が起こって見たり、あるいは文書のこと。

また、 script タグをするものではありませんのDOMなくなった後で読み込まれます。当社の環境マ container divは空欄でないインターネッ script タグです。この作業が、私の例では、上記のスクリプトは実行され、それでも、一部のDOM.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top