WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:オブジェクトのダウンロード

0:[投稿] なおき [2005/03/19 08:33 ][環境:IE6 いろいろ]

連続投稿すみません.

あるページ内の画像や動画オブジェクトなどを
JavaScript でローカルに保存する方法はないでしょうか.

たとえば,JPEGファイルとFORMボタンが置かれたページで
FORMボタンを押すとJPEGファイルを保存できるというものです.

セキュリティ的に問題があるのは承知しているのですが,
たとえば,このページソースがローカルにあるとの
前提でもよいのです.とにかく,JavaScript(JScript)
で,このようなことを実現させたいのです.

おわかりになる方おられたら,お教えください.


1:[回答] 蟹 [2005/03/19 10:48 ]

・IE限定
・同じドメイン内のファイルのみ
・htm html txt jpeg jpg gif png などIEで直接表示できるファイルのみ
・保存するかどうかはユーザーが決定する
・保存されたかどうか白bることができない

こんな条件でも良ければ可能です。
隠しフレームに保存したいファイルを直URLで読み込んでおいて、そのフレームに対して document.execCommand("saveAs") を実行すればできます。


2:[回答] 蟹 [2005/03/19 10:50 ]

>>1
誤字あり。すみません;

>・保存されたかどうか白bることができない
・保存されたかどうか調べることができない


3:[回答] なおき [2005/03/19 15:19 ]

蟹さん,ありがとうございます.

ちょっと試してみたんですが,
いわゆるソースコードの保存だけで,
画像の保存は行なわれませんでした.
「同じドメイン内」の意味がわからなかったのですが,
その影響なのでしょうか.

最終的には,URL,たとえば,
http://hogehoge.com/img/img001.jpg
が手に入ったとして,その画像をローカルに保存できれば
よいのですが,JScript の範囲では無理なのでしょうかね.


4:[回答] 蟹 [2005/03/19 19:48 ]

> いわゆるソースコードの保存だけで,
隠しフレームの name が、"frm"の場合
top.frm.document.execCommand("saveAs");
という命令を実行しないと、親のページが保存対象になってしまいます。

これでもうまくいかないとすると、OSに依存するのかもしれません。

> 「同じドメイン内」の意味
このスクリプトが実行されているドメイン上のファイルしか保存対象にできないと言うことです。
例えば、hoge.com から abesi.com のファイルに対して、何か命令を実行しようとするとエラーになります。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World