2010-12-13 5 views
0

私は、動的にマークアップを作成するウェブページを持っています。特定のボタンをクリックすると、クライアントサイドのイベントでこのマークアップをコピーして、新しいブラウザウィンドウで開く空白ページの<body>に配置します。これを行う方法はありますか?特定のHTMLを持つ新しいブラウザウィンドウを開く

+0

「動的に」サーバー側の言語を使用していますか? –

+0

ここでマークアップはどういう意味ですか? – Varun

+0

こんにちは、ページはクライアント上にマークアップを作成しません。実際にVMLイメージを作成しています(私はIEを使用しています)。また、それは '

'の内容を変更しています。この画像と表を持ち上げ、別のブラウザウィンドウで開きたいと思います。 –

答えて

1

新しいウィンドウを開くとき、関数はこのウィンドウに「ハンドル」を返します。

これで、新しいウィンドウをjavascriptで操作できます(同じドメインのURLを指している限り)。

var newWindow = window.open ("", "mywindow", "location=1,status=1,scrollbars=1,width=100,height=100"); 
newWindow.document.write("Hello world"); 

newWindow.documentから、新しいウィンドウのDOMにアクセスできます。

+0

「操作する」と言うと、新しいウィンドウを別のアドレスにリダイレクトできますか?あるいは、私は実際に新しいウィンドウにマークアップを書くことができますか? –

+0

@El Ronnoco - 追加例。 – Oded

+0

私はマークアップを注入することができましたが、ソースが表示されていても、VMLはウィンドウに表示されません。何か案は?私が知っている別の質問... –

3

JavaScript(タグから)を使用してクライアント側で使用する場合は、window.openを使用できます。

var w = window.open("", "Some Title"); 
w.document.body.innerHTML = "yay!"; 

この例では、window.open関数内のターゲットが開かれた新しいウィンドウが(あなたのウェブサイトのような任意のURLにリダイレクトされていない)空のウィンドウになることを意味し、空白文字列である、ということに注意してください。

+0

+1答えをありがとう。残念ながら、まだ存在しないので、 'body'に直接書くことはできませんでした。 –

+0

おそらく使用しているブラウザによって異なります。 Firefox 3.6は、新しいウィンドウにボディエレメント(コンテンツなし)を自動的に追加しました。 – dheerosaur

関連する問題