3

src(about:blank)なしでiframeを作成したいのですが、そのiframeコンテンツにjavascript html

このミッションのためにサーバー上にホストされたWebページを作成したくないので、それを行う必要があります。これにより、リソースに適さないサーバーへの接続が増えます。また、ロード/実行時にWebページのロードが最も遅くなるため、Webページに直接javascripthtmlを記述したくありません。

javascript(jquery多分)を使用してそれを行う方法は?

iframe例:

<iframe src="about:blank" width="300" height="250" scrolling="no" frameborder="0" marginwidth="0" marginheight="0" ></iframe>

およびその内容:

<div>xxx</div>
<script type="text/javascript">var abc=1 </script>
<script type="text/javascript" src="http://1234.net/js.js"></script>

アップデート

以下の回答をありがとうございます。ただし、異なるIDを使用して1つのページにiframeを作成する必要があるため、スクリプトがjavascriptによってiframeを作成することも明確にする必要があります。私のテストを見てください:http: //jsfiddle.net/rDkEw/

問題は次のとおりです。document.body.appendChildを使用する、iframeはWebページの本文に作成されますが、JavaScriptを保持する現在のdiv内に保持する必要があります。

4

5 に答える 5

9

2016年以降にこれをグーグルで検索するすべての人のために:データを使用する :URL、データの前に付けられたURL:スキーム、コンテンツ作成者がドキュメントにインラインで小さなファイルを埋め込むことができるようにします。

<iframe src="data:text/html, <h1>Your HTML</h1>"></iframe>
于 2017-10-21T00:03:06.820 に答える
4

An<iframe>には、contentDocumentその…コンテンツのドキュメントを表すプロパティがあります。その上で使用できますwrite()これがデモです。

于 2013-02-26T04:42:41.097 に答える
2

あなたはこのようにそれを行うことができます:

var iframe = document.getElementById('iframeid');

var div_el = document.createElement('div');
div_el.innerHTML = "....";
iframe.contentWindow.document.body.appendChild(div_el);

jQueryソリューション:

$('#iframeid').contents().find('body').append("<div>.....</div>");
于 2013-02-26T04:41:46.297 に答える
0

jQueryの場合:

$('#myIframe').appendTo('#iframeDiv');

iframe id = "myIframe"

あなたのhtmlコンテンツdivid= "iframeDiv";

注:jQueryがなければ、他の2つの答えは完全に適しているようです。

于 2013-02-26T04:46:00.643 に答える
0

ここで説明するように、iframeのページに任意のコンテンツを追加できますが、ページがロードされていないため、このページに追加したJavaScriptが機能するとは思えません。あなたはそれを試してみることができます。

于 2013-02-26T05:02:15.647 に答える