アプリ版:「スタンプのみでお礼する」機能のリリースについて

初めてのJavaScriptです、宜しくお願いします。
フレームページで左ページから右ページのファイルサイズを調べる事はできますか?
<script type="text/javascript">
function getSize(){
document.write(parent.rightFrame.document.fileSize);
}
</script>
</head>
<body><!-- leftFrame -->
<p><a href="http://www.yahoo.co.jp" target="rightFrame">ヤフー</a></p>
<p><a href="javaScript:getSize()">サイズ</a></p>
</body>

A 回答 (3件)

左フレームでAというサーバのA.HTMLを表示中。


右フレームでBというサーバのB.HTMLを表示中。
  ( A,Bは異なります。)
-------------------------------------------
としましょう。
B.HTMLにあるJavaScriptは、同じサーバにあるB2.HTMLのプロパティは読み取れる。
A.HTMLの中にあるJavaScriptは、異なるサーバBにあるA2.HTMLのプロパティは、たと右フレームにあっても読み取れない。

ということではないでしょうか。

>>> 右フレームで表示中にそのソースコードを取る事も無理でしょうか?

もし読み取れたら、JavaScriptで、そのファイルのサイズを調べることが出来ますね。
    • good
    • 0

調べてみたところ、きわめて限定的にしかファイルサイズを取れないようです。



・ [IE4][IE5]
  ファイルサイズはIMGオブジェクトのfileSizeプロパティで取得
  参考URL
   C:\Users\ty\ws3\WP\WebRoot\JS_HB\form\fileSize.html



・  VBSの CreateObject("Scripting.FileSystemObject") を利用
  参考URL
   http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.ph …

   http://chaichan.web.infoseek.co.jp/qa3500/qa3594 …

・ document.fileSize を利用
  参考URL
   http://javascriptist.net/ref/document.filesize.h …



一般的な手法は無さそうです。

同じ出身のウィンドウやドキュメントのプロパティしか読むことは出来ないというのは、JavaScriptの「同一出身ポリシー」のためです。

この「同一出身ポリシー」で規定するのは、ドキュメントをロードしたURLのプロトコルとホストとポート番号を組み合わせたものに対してです。

この回答への補足

有難う御座います。

>JavaScriptの「同一出身ポリシー
クライアント側のローカルでしか対応出来ないと言う意味でしょうか?
webサーバー側には対応出来ないのてすよね・・

クライアントのブラウザがサーバーファイルを読み取ると言う考えだったのでファイルサイズが取れると思いました。
右フレームで表示させているので・・・

では、右フレームで表示中にそのソースコードを取る事も無理でしょうか?

補足日時:2008/04/05 09:39
    • good
    • 0

出来ますが 同じドメインで無いとエラーになるようですよ



var doc;
doc = parent.frames[ "rightFrame" ].docuemnt;
で 『アクセス拒否』になるようです ・・・

この回答への補足

有難う御座います。私も試みてみました・・おっしゃる通りでした・・

補足日時:2008/04/05 09:37
    • good
    • 0

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