プロが教えるわが家の防犯対策術!

openメソッドでURLを指定して子ウィンドウを開きます。
この時、子ウィンドウで表示されているURLのソースは、
一時ファイルとしてどこかに保存されていると思うのですが、
その保存先及びファイル名を親ウィンドウから取得することは
可能でしょうか。
よろしくお願い致します。

A 回答 (2件)

ちょっと言葉の使い方が悪かったかもしれません。

正確には、OSが管理しているというより、ブラウザアプリケーションが管理している部分でしょう。(つまり、ブラウザごとにバラバラ。)

キャッシュフォルダの制御は、それぞれのブラウザが高速化や利便性の向上のためにこれからも変化しつづけると思われます。ちょっと覗いてみたのですが、IEは、ほぼプレーンな形で保存してますが、NNのキャッシュの仕方は、suqidのようなproxyサーバに近い保存の仕方をしてます。よって、仮にキャッシュされている場所またはファイルを特定しても、ユーザエージェント(ブラウザ)によって、アクセスするアルゴリズムを変える必要があります。

JavaScriptでの過去の履歴にアクセスするのは、history.*以外ではできなさそうですし、やはり難しいのではないでしょうか。

なぜキャッシュされているファイルと対応にこだわっているのかはちょっと分かりませんが、何らかの目的のための一つの方法としてそれがあるだけだと思うので、別なアプローチに変更した方が良いように思われます。

この回答への補足

ありがとうございました。
他の方法を考えてみます。
ところで、前の回答にあった方法で、子ウィンドのURLを取得しようと
次の様なソースを書いてみましたが、子ウィンドのURLを
取得できませんでした。
以下のソースに問題はありますか?

-- 以下ソース
varchild;
function OpenWindow()
{
child = open("http://xxx.yyy.zzz/", "");
}

function GetChildURL()
{
// parent_urlには、親ウィンドウのURLが入っているが、
// child_urlには、子ウィンドウのURLが入っていない
var parent_url = location.href;
var child_url = child.location.href;
}
-- 以上ソース

補足日時:2001/02/14 15:57
    • good
    • 0

JavaScriptではブラウザ制御を超える範囲のことが出来てはまずいと思うのですが、ご質問の意味が「OSが管理しているブラウザ情報を保持するファイルの場所を取得する」ということでしたら、不可能かと思います。

そうではなく、単に子ウィンドウが現在表示しているURLが知りたいだけであれば、

var a = (参照したいウィンドウ).location.href;

のようにするのでしょうけど。

この回答への補足

回答ありがとうございます。
質問の内容を補足させて頂きます。
IE,ネットスケープとも設定でキャッシュフォルダを指定できますよね。
そこで、現在表示しているURLのソースがキャッシュフォルダに何らかの
ファイル名で保存されていると思います。次回同じURLを表示する時に、
URLとキャッシュフォルダのファイル名の対応を取る仕組みがあると
思うのですが、これはOSが管理する世界になってしまうのでしょうか?

補足日時:2001/02/14 10:33
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!