動的に挿入javascriptをHTMLを使用します。書
-
09-06-2019 - |
質問
私は現在、ロザスタイルポップアップする負荷で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を、コンテンツが描画されます。この利用 innerHTML
書 document.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
算する必要があるの content
に element.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.