• 締切済み

ファイルサイズの取得について

初めての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>

noname#100774
noname#100774

みんなの回答

  • auty
  • ベストアンサー率58% (284/486)
回答No.3

左フレームでAというサーバのA.HTMLを表示中。 右フレームでBというサーバのB.HTMLを表示中。   ( A,Bは異なります。) ------------------------------------------- としましょう。 B.HTMLにあるJavaScriptは、同じサーバにあるB2.HTMLのプロパティは読み取れる。 A.HTMLの中にあるJavaScriptは、異なるサーバBにあるA2.HTMLのプロパティは、たと右フレームにあっても読み取れない。 ということではないでしょうか。 >>> 右フレームで表示中にそのソースコードを取る事も無理でしょうか? もし読み取れたら、JavaScriptで、そのファイルのサイズを調べることが出来ますね。

  • auty
  • ベストアンサー率58% (284/486)
回答No.2

調べてみたところ、きわめて限定的にしかファイルサイズを取れないようです。 ・ [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.php?topic=17912&forum=12&7    http://chaichan.web.infoseek.co.jp/qa3500/qa3594.htm ・ document.fileSize を利用   参考URL    http://javascriptist.net/ref/document.filesize.html 一般的な手法は無さそうです。 同じ出身のウィンドウやドキュメントのプロパティしか読むことは出来ないというのは、JavaScriptの「同一出身ポリシー」のためです。 この「同一出身ポリシー」で規定するのは、ドキュメントをロードしたURLのプロトコルとホストとポート番号を組み合わせたものに対してです。

noname#100774
質問者

補足

有難う御座います。 >JavaScriptの「同一出身ポリシー クライアント側のローカルでしか対応出来ないと言う意味でしょうか? webサーバー側には対応出来ないのてすよね・・ クライアントのブラウザがサーバーファイルを読み取ると言う考えだったのでファイルサイズが取れると思いました。 右フレームで表示させているので・・・ では、右フレームで表示中にそのソースコードを取る事も無理でしょうか?

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

出来ますが 同じドメインで無いとエラーになるようですよ var doc; doc = parent.frames[ "rightFrame" ].docuemnt; で 『アクセス拒否』になるようです ・・・

noname#100774
質問者

補足

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

関連するQ&A

  • ページのサイズを取得

    ページのサイズを取得することは出来ないのでしょうか? http://www9.plala.or.jp/oyoyon/html/script/filesize.html を参考に 自信のページのサイズを取得しようと <html> <head> <title>test</title> <script type="text/javascript"> <!-- document.write("このページは " + document.fileSize + " バイトです。"); // --> </script> </head> <body> </body> </html> としてみたのですが、 「このページは undefined バイトです。」 が返りました。 IEで試しました。 undefinedの意味を調べてみたら 「定義されていない;漠然とした」と言う意味でした。 ページ内に画像はないのですが、 ページのサイズを取得することは出来ないのでしょうか?

    • ベストアンサー
    • HTML
  • フレームサイズの変更について

    過去ログを参照していたら、次のようなサンプルを発見したのですが、 IEでは動作しますが、FireFoxではエラーになってしまいます。 どこを修正すれば動くようになるでしょうか? ■frame.html■ <html> <head><title></title> <script language="javascript"> <!-- document.write(frset('40%','60%','a.htm?','1.htm?')) function frset(a,b,f1,f2){ var frset= '<title>frame</title>\n' +'<frameset cols="'+a+','+b+'">\n' +'<frame src="'+f1+'">\n' +'<frame src="'+f2+'">\n' +'</frameset>\n' return frset } //--> </script> </head> </html> ■a.html■ <html> <head><title></title> </head> <body> 右のリンクで<br>フレームのサイズ<br>が変わるよ! </body> </html> ■1.html■ <html> <head><title></title> <script language="javascript"> <!-- function chsize(a,b){ if(location.search==""){ if(document.all){ parent.document.all.tags("frameset")[0].cols=a+","+b }else{ //parent.document.open() parent.document.write(frset(a,b,parent.frames[0].location.href+"?",parent.frames[1].location.href+"?")) parent.document.close() } } } //--> </script> </head> <body onload="chsize('40%','60%')"> こっち側60%です。 <br> <a href="2.htm">こっち側を40%にする!</a> </body> </html> ■2.html■ <html> <head><title></title> <script language="javascript"> <!-- function chsize(a,b){ if(location.search==""){ if(document.all){ parent.document.all.tags("frameset")[0].cols=a+","+b }else{ //parent.document.open() parent.document.write(frset(a,b,parent.frames[0].location.href+"?",parent.frames[1].location.href+"?")) parent.document.close() } } } //--> </script> </head> <body onload="chsize('60%','40%')"> <a href="1.htm">こっち側を60%にする!</a> <br> こっち側40%です。 </body> </html>

  • ブラウザのサイズ取得がXHTMLにするとうまくいか

    http://www.tagindex.com/javascript/user/area.html に ブラウザのサイズ取得のサンプルが載ってます。 <html> <head> <title>TAG index Webサイト</title> </head> <body> <script type="text/javascript"> <!-- if(document.all){ // IE用 document.write('<p>横のサイズ:<strong>' + document.body.clientWidth + '</strong><br>'); document.write('縦のサイズ:<strong>' + document.body.clientHeight + '</strong></p>'); } else{ document.write('<p>横のサイズ:<strong>' + innerWidth + '</strong><br>'); document.write('縦のサイズ:<strong>' + innerHeight + '</strong></p>'); } // --> </script> </body> </html> です。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> にすると、IE8で高さが小さな値しかでません。 しかし、紹介したページはただの<html>でないのに、 正しい値が出力されています。 何が足りないのでしょうか。 <p>・・・</p> を2スクロール分入れたら、今度が大きすぎる値が出力されてしまいました。 困っております。どうか助けてください。お願いします。

  • IE6 で アップロードファイルサイズ

    IE6 でアップロードしたファイルのサイズを取得したいです。 いろんなやり方を試しましたが、ページエラーばかり出てしまいます。 下記のようなフォームです。multipulの指定はなし。 ------------------------------------- <form name="frmFile" action=""> | <input type="file" name="upfile" value=""> | </form> ------------------------------------- <script type="text/javascript"> var filesize = document.frmFile.upfile.fileSize; </script> 上記のjavascriptではページエラーが出ます。 ファイルサイズを取得して、一定の値以上の容量であればアラートを出力する javascriptのプログラムを書きたいですが、エラーが出ていては前に進めません。 サイズの取得の仕方を教えてください。お願いします。

  • リンク元のファイル名を表示したい。document.referrerだとダメ。(ソース付き)

    よろしくお願いします。 index.html→saki.htmlのようにリンクしてある、ファイルが2つあります。 saki.htmlの中で、リンク元のindex.htmlの名称を、document.referrerで表示しようとしています。 しかし、うまく動作しません。 何が違うのでしょうか? ●index.html <html> <body> <a href="saki.html">AA</a> </body> </html> ●saki.html <html> <body> <script type="text/javascript"> <!-- document.write('<p>リンク元URL:' + document.referrer + '</p>'); // --> </script> </body> </html>

  • リンクのクリック数を把握したい

    現在、以下のようなjavascriptを書いて、リンクを作っています。 <script type="text/javascript"> <!-- A01=new Array(); A01[0]='<a href="http://www.yahoo.co.jp/" target="blank">yahoo</a>'; A01[1]='<a href="http://www.google.co.jp/" target="blank">google</a>'; a01=Math.floor(Math.random()*A01.length); B01=new Array(); B01[0]='<a href="http://www.livedoor.co.jp/" target="blank">livedoor</a>'; B01[1]='<a href="http://www.goo.co.jp/" target="blank">goo</a>'; b01=Math.floor(Math.random()*B01.length); --> </script> とgoogleとyahoo、;livedoorとgooを配列に入れておき、 どちらかがランダムで出てくるようにして実際の表示部に以下を配置しています。 <script type="text/javascript"> <!-- document.write(A01[a01]); --> </script> <script type="text/javascript"> <!-- document.write(B01[b01]); --> </script> このスクリプトで、A01(yahoo or google)とB01 (livedoor or goo)が それぞれ何回クリックされたのかを把握したいです。 どのようにすれば良いか、ご教示頂けると幸いです。

  • 外部javascriptファイルの中にさらに外部javascriptファイルを入れたい

    javascript初心者です。 メニューの一部を外部ファイルによるツリーメニューにし、 さらにメニュー部分全体を外部ファイルにしようとしましたが、 メニュー部分全体を外部ファイルに移したら、 中のツリーメニューが機能しなくなってしまいました。 いろいろ試してみましたが、付け焼き刃の知識では皆目見当が付きません。 ご指摘いただけると嬉しいです。内容は下記の通りです。 メニュー全体の外部ファイル「menu.js」 document.write('<div id="menu">'); document.write('<h1>お役立ち情報<\/h1>'); document.write('<ul>'); document.write('<script src="javascript\/tree.js" type="text\/javascript"><\/script>'); document.write('<li><a href="javascript:tree("click1");" title="">HOME<\/a>'); document.write('<\/li>'); document.write('<div id="click1" style="display:none;">'); document.write(' <a href="未設定" title="作成中です" target="未定">第1ページ <\/a>'); document.write('<br>'); document.write(' <a href="未設定" title="教えられません" target="未定">第2ページ <\/a>'); document.write('<br>'); document.write('<\/div>'); document.write('<li><a href="javascript:tree("click2");" title="">お知らせ<\/a>'); document.write('<\/li>'); document.write('<div id="click2" style="display:none;">'); document.write(' <a href="未設定" title="作成中です" target="未定">第3ページ <\/a>'); document.write('<br>'); document.write(' <a href="未設定" title="教えられません" target="未定">第4ページ <\/a>'); document.write('<br>'); document.write('<\/div>'); document.write('<li><a href="#">DOWNLOAD<\/a>'); document.write('<\/li>'); document.write('<\/ul>'); document.write('<\/div>'); 中に入れてあるツリーメニューの外部ファイル「tree.js」 function tree(id) { if (document.getElementById(id).style.display == "block") document.getElementById(id).style.display="none"; else document.getElementById(id).style.display="block"; } .htmlの記述はこうなっています。 <script src="menu.js" type="text/javascript"></script>

  • 直フレーム内ページにきた場合とトップからきた場合の「戻る」について

    以前「複数フレーム内リンク」でお世話になりました。今度も煮詰まってしまいました。 ・トップ→コーナー→末端ページという構成 ・「上部・左・メイン」の3つフレームを使用している状況です。 検索でフレーム内の末端ページに飛んできた人に「戻る」ボタンでコーナーのindexにフレーム有りの状態で表示したいのです。 只今、上記については作動できるのですが、逆にトップ→コーナー→末端ページと通常の流れできた人が、その「戻る」を押すと3つのフレームの中のメインフレームにまた3つのフレームが表示されてしまいます。 戻るに「target='_top'」や「target='_parent'」とつけてもいきません。といいますか、付け方がわかりません。 ソースは↓ <script language="JavaScript"> function framepage(filename) { document.open(); document.write("<frameset rows='80,*' frameborder='NO' marginwidth='0' marginheight='0' framespacing='0' border='0' target='_top'>"); document.write("<frame name='topFrame' src='上部.html' scrolling='NO' noresize>"); document.write("<frameset cols='152,*' frameborder='NO' marginwidth='0' marginheight='0' framespacing='0' border='0' target='_top'>"); document.write("<frame name='leftFrame' src='左.html' scrolling='NO' noresize>"); document.write("<frame name='main' src=" + filename + ">"); document.write("</frameset>"); document.write("</frameset>"); document.close(); } </script> bodyの方は↓ <a href="javascript:framepage('../index.html')">[戻る]</a> となっています。 どなたか宜しくお願いします!

  • 同意チェックボックスはひとつ、遷移先は複数にしたい

    探して見つけた↓をWordPressで使わせていただきたいのですが、 WordPressの投稿ページで動きません・・・。 <html> <head> <script type="text/javascript"> function goServlet(url){ if (!document.chbox.cBox.checked){ // 同意してない window.alert("同意して"); }else{ // 同意してる document.location = url; } } </script> </head> <body> <p>上記、「システム利用規約」に同意します。 <form name="chbox"> <input type="checkbox" name="cBox" > </form> </p> <a href="javascript:goServlet('http://google.com')" >トップページへはこちら</a> <a href="javascript:goServlet('http://yahoo.jp')" >会員ページへはこちら</a> </body> </html> 「"javascript:goServlet('http://google.com')"」 この部分がダメなのだと思うのですが、他の方法を教えていただけないでしょうか・・・。 できましたらformのsubmitで・・・。 (すみませんド素人です) よろしくお願いします。

  • JavaScriptでプルダウンのサイズを取得

    JavaScriptにてプルダウンのサイズ(<option>の数)を取得したいと思っています。 document.getElementById("pulldown").length にて取得できると思うのですが 試してみたところ無反応でした。どう書けばよろしいのでしょうか。 <html> <head>     <script type="text/JavaScript">               alert(document.getElementById("pulldown").length);     </script> </head> <body> <form name="form"> <select name="pulldown" id="pulldown"> <option value="5">5</option> </select> </form> </body> </html>

専門家に質問してみよう