2009-05-24 11 views
1

ウェブページの「保存しやすい」バージョンを作成するJavascriptコードが少しあります。子ウィンドウを保存すると、代わりに親ウィンドウが保存されます(JavaScript)

child = window.open("","child");
child.document.write(htmlPage);

「HTMLページのは、」すべてはと、ポップアップウィンドウに完全に表示されるなど取り出したすべてのJavaScript参照を持つページの基本的なHTML、ヘッダー画像参照の異なるセット、

ですjavascriptは実行されていません。 "ファイル - >名前を付けて保存"をクリックすると、保存されたファイルはすべてのjavascriptと共に子ウィンドウのトレースなしで親ウィンドウになります。誰もがこの問題を解決する方法を知っていますか?子ウィンドウのみを保存したい。

おかげで、 -Kraryal

答えて

2

ページを保存するときは、「清め」バージョンが必要な場合、それは、あなたを元のURLのコンテンツ(あなたが新しいコピーをダウンロード等かのように)

が保存されますサーバー上でそのバージョンを生成し、そのURLを最初のパラメーターとしてポップアップを開く必要があります。窓/ IEのみのバージョンはこちらをご覧ため

0

ああ、それは私の避難所と思われます私の質問にコメントを追加するのに十分な評判がないので、ここでこれを追加します。

このjavascriptは、Internet ExplorerとSafariの両方に配備されています。ホスティングアプリケーションは、常にローカルファイルシステムにアクセスするとは限りません。

ユーザーは、作業中のページにマークを付けてから、後で印刷または電子メールで送信できるように保存することができます。実際にメールできるように、単一のファイルアーカイブとして保存するように指示します。保存ダイアログでこれを行うことができ、ユーザーはアクセス権を持つ場所にファイルを置くことができるので、それを使用したのです。

javascriptの新しいHTMLをローカルディレクトリに書き込むのは簡単な方法ですが、必ずしもそうすることはできません。他のアイデア?これまでの助けてくれてありがとう。

+0

fyi - 自分の質問を編集できるはずです... – garrow

+0

ありがとうございました。私のブラウザは、その日、ばかげていただけだった。 – kraryal

5

私は同様の状況を抱えていました(しかし、全然あきらめていませんでした)。私は、私はユーザーがテキストファイル(私の場合はカンマ区切りの値)としてダウンロードしたいJavascriptを使用して、Webページの保存に適したバージョンを構築しています。私はdata: URIがここで助けることができると思います。

//construct the csvOutput in Javascript first 
var popup = window.open("data:application/octet-stream," + encodeURIComponent(csvOutput), "child"); 
//no need to document.write() anything in the child window 

Firefoxでは、これはちょうど彼らがファイルを保存したい場合は、ユーザーを要求し、.partファイルとして保存し、でも、ウィンドウをポップアップ表示しません。必ずしも理想的ではありませんが、少なくとも不要なウィンドウをポップアップすることなくファイルを保存します。

代わりに、我々はtext/plainのMIMEタイプを使用することができます:Firefoxので

//construct the csvOutput in Javascript first 
var popup = window.open("data:text/plain;charset=utf-8," + encodeURIComponent(csvOutput), "child"); 

を、この新しいウィンドウがポップアップ開くんが、それはの嫌なもののいずれかなしに、ASCIIテキストとしてデフォルトで保存されます親ウィンドウまたは任意の行折り返し。これはおそらく私が使用するものです。

IEでは動作しません。IE 8はdata:のURIをサポートする唯一のバージョンであり、使用できる場所にはseries of restrictionsがあります。 IEの場合、execCommandをご覧ください。

ありがとうございましたtek-tip threadWikipedia article on the data URI schemeです。

+0

これは私の望むことではありませんが、それにもかかわらず良い発見です。 (私は単一のアーカイブファイルとして画像やHTMLの束を保存したい)execCommandも非常に便利に見えます。 – kraryal

関連する問題