2

div の動的コンテンツがあるとします:

//a button to click, or something
<button type="button">Download Content as a .doc</button>

//Div to be downloads as .div
<div class="gc"> //Generated content
   <h1>A Header</h1>
   <p>A Paragraph</p>
   <ul><li>A</li><li>List</li><li>Here</li></ul>
</div>

サーバー側のヘルプを使用せずにこれにアプローチするには、どのような方法を提案できますか? 私は現在これを学んでおり、Jquery を使用して div にアクセスし、単純な答えまたは正しい方向へのヒントを探すだけで JS にアクセスできます。

thisのように div で pdf を表示するのと同じくらい簡単だといいのですが、わかりません。

私の特定の状況では、コンテンツをフォーマットするかどうか、ワード内のオブジェクトとして配置するか、その他の風変わりな回避策を使用するか、一般的なブラウザー拡張機能を使用することができます。最終的には、コンテンツの .doc (潜在的に .docx) バージョンをユーザーに提供できるようにしたいだけです。

サーバー側の機能を使用する必要がある場合、解決策をたどるのに役立つリンクはありますか? 私は AJAX や PHP を知りませんが、喜んで学びます!

4

3 に答える 3

4

これは、正しいヘッダーを送信する何らかのサーバー側の機能がなければ不可能です。

.html ファイルの名前を .doc に変更することはできますが、Word はそれを食べてしまいますが、コンテンツ ディスポジション ダウンロード タグとコンテンツ タイプ application/vnd を送信するために、PHP や任意のサーバーサイド言語が必要になります。 -ms-word ヘッダー。

明らかなセキュリティ上のリスクがあるため、これは純粋な JavaScript では不可能です。

于 2012-08-04T16:37:58.620 に答える
2

これの一部は、blob ビルダーとオブジェクト URL を使用する HTML5 で可能です。難しいのは、単語互換ファイルを生成することです。これは、読者の演習として残します。

// normalize vendor extensions
window.BlobBuilder = window.MozBlobBuilder || window.WebKitBlobBuilder || window.BlobBuilder;
window.URL = window.URL || window.webkitURL;

// create the file and append contents to it
var blobthebuilder = new BlobBuilder();
blobthebuilder.append("some text");

// create a URL for the newly created file with a mime
// type and make the anchor point to it
anchor.href = window.URL.createObjectURL(blobthebuilder.getBlob("text/html"));​

Webkit はa[download]、左クリック → 名前を付けて保存... を要求する代わりに、ファイルを自動的にダウンロードすることもサポートしています。

jsFiddleのデモ。

于 2012-08-04T16:56:55.470 に答える
0

AJAXを介したサーバーサイドスクリプトなしでこれを行うことはできないと思います.

PHP を使用している場合は、AJAX 経由で送信し、テキスト ファイルとして送信してダウンロードするのは簡単です。次に、これは複雑な形式であるため、.doc ファイルに変換できるスクリプトを見つける必要があります。

ただし、HTML5 についてはよくわかりません。多くの新機能があります。

編集:わかりました、SchizoDuckieが1分で私を打ち負かすのを見ることができます笑:o)

于 2012-08-04T16:39:47.393 に答える