- - PR -
本末転倒 onContextMenu
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-12-14 14:37
現在、onContextMenuでそのページ専用のメニューを作成しているのですが
従来の右クリック時にでてくる、「対象をファイルに保存」と同じものを追加したいのですが 記述方法がわかりません よろしければご教授ください <body onContextMenu=editmenu(rcmenu,info)> 別の処理で右クリックしたものがファイルへのリンクであるかどうかは判別していますので、単純にそれを「対象をファイルに保存」させたいのですが 現在は↓のような感じで処理しています <% Dim objStream Dim strFilePath Const adTypeBinary = 1 Response.AddHeader "content-disposition","attachment; filename=hoge.xls" strFilePath = "[サーバー側のEXCELファイル物理パス]" Set objStream = Server.CreateObject("ADODB.Stream") objStream.Open objStream.Type = adTypeBinary objStream.LoadFromFile strFilePath Response.BinaryWrite objStream.Read objStream.Close Set objStream = Nothing %> このやり方だと「開く」「保存」「キャンセル」と間に1ステップ入ってしまい、なおかつ「開く」を選択されると色々と困るので直接保存先選択のダイアログを開かせたいのです よろしくお願いします |
|
投稿日時: 2004-12-14 17:49
質問する会議室を間違えてますよ。
JavaScriptの会議室と間違える人は多いですが... |
|
投稿日時: 2004-12-14 18:12
コモンダイアログを開いて、
その後にサーバと通信してダウンロードを行うActiveXを作成して クライアントに実行させないと無理だと思います。 なぜ「開く」を選択すると困るのかわかりませんが、 アンカーに対してクリックの挙動を行う際のターゲットを 新しいwindowにしてやれば、 間違って「開く」を選択しても元画面が消えることもないです。 #どうしても込み入ったことしたいなら、 #専用ブラウザ作ればいいのに。。。と、いつも思いますけどね。 |
|
投稿日時: 2004-12-14 20:24
>なぜ「開く」を選択すると困るのかわかりませんが、
私が聞きたいとこです(待て 結局ASPの方で Content-Disposition: attachment; filename=fname.ext という一文を加えて保存か開くか選択するダイアログを表示させています で、開くを選択するとテンポラリに対象を保存して test.docといファイル名の場合test[1].docというファイル名で開いてくれます >#どうしても込み入ったことしたいなら、 >#専用ブラウザ作ればいいのに。。。と、いつも思いますけどね。 クライアント側は最大数千人規模を想定していますので全員にインストール作業をさせるということになるというのは駄目という理論のようです 2点目としては結局のところ割り当てられている作業時間がないに等しいのに無茶は言ってくる とそんなところですね ご返答ありがとうございました |
1