• ベストアンサー

MacとWindowsにおけるサブウィンドウを開いた際のズレ

WindowsXPのInternetExproler6で、 JavaScriptによって開くサブウィンドウのサイズを 780×468 としたとします。 それをマック(OS9.2)のInternetExproler5で開くと、 若干大きく開かれてしまいます。 800*480といった具合になっているようです。 () これを補正する方法はないでしょうか。 Flashのswfのファイルの縦と横の幅が780*467なので、 開かれるサブウィンドウにピタリとはまるようにしています。(topmargin=0と、leftmargin=0にはもちろんしております。) マック上だと、前述のように、swfファイルの縦と横の幅より大きなサブウィンドウが開かれてしまいます。 つまり、サブウィンドウとswfファイルの間に隙間が生じてしまうという状態です。 以下がウィンドウを開くためのサブルーチンです。 <script Language="JavaScript"><!-- function newWin(){ wx=780; wy=468; window.open("division1.html","sub",width="+wx+",height="+wy); } //--></script> アドバイスお願いします。

  • shevy
  • お礼率67% (703/1046)

質問者が選んだベストアンサー

  • ベストアンサー
noname#6493
noname#6493
回答No.2

ディスプレイ解像度は関係ありません。ブラウザの仕様の違いです。 具体的には、ウインドウのサイズか、ウインドウの表示領域のサイズか、の違いです。 margin=0の指定と、width=width-document.body.clientWidthみたいな処理でなんとかなりませんか?

shevy
質問者

お礼

ありがとうございます。 新たに疑問をまとめて質問させて頂きます。 なんとかウィンドウズとマックの両方で使い分けられる処理を実現しようと思います。 ありがとうございました。

その他の回答 (1)

noname#222916
noname#222916
回答No.1

WinとMacでは、ディスプレイの解像度?(実際はちょっと意味が違いますが、言葉が思い浮かばないので…)が違うので、同じものでも違って見えます。 文字は、同じポイント数で作っていても違って見えます。 これは、OSそのものの仕様なので、どうしようもありません。 で、方法としては、見る側のOSを取得して、OSごとにそれぞれのサイズの窓を開いてやる。 または、swfのほうを、固定サイズにしないで、窓のサイズに合わせるようにパブリッシュする、の二通りくらいではと思います。 前者のOSごとに、の方は、今手元に資料が全然ありませんし、知識もちょっとたらないので、解説出来ませんが、OSの種類を取得すること自体はFLASHで出来ますので、FLASHの解説書などを探してみてください。 ついでに、厳密に言うと、OSのみでなく、ブラウザの種類によっても見え方が違ってきますので、そこらへんも考慮しても良いとおもいます。例えば、IEとネスクでは、窓のサイズの基準が、内々だったり外々だったりするはずです。 後者の、swfの大きさを合わせる方は、パブリッシュの設定で、ブラウザのサイズに合わせるとかの項目があると思うので、それで、パブリッシュすればOKです。

shevy
質問者

お礼

ありがとうございます。 ブラウザとOSについての知識が浅かったことが結果として困難な事態につながってしまったのですが、 なんとか解決しようと思います。 ありがとうございました。

関連するQ&A

  • MacとWindowsのどちらでアクセスしたかによって実行させるJavaScriptを変えたいのですが

    Flashで作成したswfファイルをhtmlファイルに埋め込んで、そのhtmlファイルのbodyは、topmargin=0,leftmargin=0とすることで、swfファイルをピッタリとウィンドウの左上にくっつくようにしました。 そしてさらに、そのhtmlファイル(main.html)は別のhtml(index.html)からswfファイルの縦と横の幅のサイズと同じ幅に指定された状態で、サブウィンドウとして開かれるようにしています。(newWin()サブルーチン) ところが、WindowsXPのInternetExproler6だとピッタリと収まって表示されるのに、マックOS9.2のInternetExprorel5だとswfファイルとサブウィンドウのサイズが揃わず、swfファイルとサブウィンドウの枠の間に隙間ができてしまいます。 そこで、考えたのは、JavaScriptにおいて、訪問者のPCがマックかウィンドウズによって、実行させるサブウィンドウを開くサブルーチンの処理内容をOSに合わせて変更するということができないかということです。 Flashのswfのサイズは780*478なので、以下のようなスクリプトを現在は使用しています。 <script Language="JavaScript"><!-- function newWin(){ wx=780; wy=468; x=(screen.width-wx)/2; y=(screen.height-wy)/2; window.open("main.html","sub","left="+x+",top="+y+",width="+wx+",height="+wy); } //--></script> 上記はWindowsだと正常にモニタ画面中央にサブウィンドウがswfファイルをピタリと収めて表示されますが、Macだとモニタ画面中央に表示されても、swfがサブウィンドウのサイズより小さいために、なぜかサブウィンドウ内に余白が発生してしまっています。 そこでマックの場合だけは、wx=760 wy=450ぐらいにしたいと思うのですが、そういったOSに依存した処理の選択は可能でしょうか。 またこのズレが生じた原因もお分かりになれば一緒にアドバイスをお願い致します。

    • ベストアンサー
    • CSS
  • サブウィンドウ

    JavaScriptの得意な方、知っている方に質問です。 下記のように指定した場所をクリックすると、サブウィンドウが表示されますが、そのサブウィンドウの高さと幅は自動的にしたいです。 その方法を存知であれば教えてください。 <script Language="JavaScript"> <!-- subWin = new Array(); swNum = new Array(); function openSW(sURL,sID) { swName = "subwindow"+sID; subWin[sID] = window.open(sURL,swName,"width=400,height=700"); swNum.unshift(sID); for (i=swNum.length-1; i>=0; i--) { if ( isFinite(swNum[i]) && subWin[swNum[i]]) subWin[swNum[i]].focus(); } } // --> </script> <a href="javascript:openSW('ファイル名',0)"><U>テスト</U></a> よろしくお願いします。

  • 親ウィンドウのボタンからサブウィンドウを閉じたいのですが・・・。

    いつもお世話になっています。 JavaScript初心者です。 window.closeについて質問させて下さい。 メインウィンドウにある「next」という次のページに移るボタンをクリックすると、開かれているサブウィンドウを閉じる処理を実行したいのですが、window.closeを使えばいいということしか分からず、何をどこに書けば良いのか困っています。(サブウィンドウにも「閉じる」ボタンを作成していますが、親ウィンドウからも操作が出来るようにしたいと思っています。) どうか教えていただけませんでしょうか。 ソースは次の通りです。 ----------------------------- //サブウィンドウの表示 <script language="JavaScript"> function sub(msg){ var page =window.open("", "HintPage","screenX=400,screenY=600,left=400,top=600,width=400,height=250,scrollbars=yes,resizable=yes"); page.document.open(); page.document.writeln("<html>"); page.document.writeln("<head><title>{test}</title></head>"); page.document.writeln("<body leftmargin=\"15\" rightmargin=\"15\" topmargin=\"20\">"); page.document.writeln("<h3>[ {test} ]</h3><hr><br>" + msg + "<br><br><hr><br>"); page.document.writeln("<div align=center>"); page.document.writeln("<input type=button value=close onclick=\"javascript:window.close()\"></div>"); page.document.writeln("</body>"); page.document.writeln("</html>\n"); page.document.close(); page.focus(); } </script> </HEAD> //「next」ボタンの表示 <body> <table cellpadding=3 cellspacing=5 align="right"> <tr> <td bgcolor="#9999ff" align="right"><input type="submit" name="next" value="{nextBtn}" style="width: 140px; height: 20.5px;" onClick="setPname('{next}')" {disabled2}></td></tr> </table> </body> ---------------------------- どうぞよろしくお願い致します。 説明不足の点がありましたら補足させて頂きます。

  • ウィンドウの大きさを指定して開きたい。

    サイトに飛んできた時にメインウィンドウの大きさを指定しておきたいのですが、どのようにすればよいでしょうか。 縦に短く横に長いページなのでレイアウト上、最初だけは位置、大きさ指定しておきたいのです。 サブウィンドウの大きさを変える方法はJavaScriptでできたのですが。。。 よろしくお願いします。

  • コンテンツをウインドウの中央に固定

    以下のコードで、コンテンツをウインドウの中央に固定しようと思っているのですが、 上手くいきません。 ウインドウのサイズに合わせながら、中央に常に表示できればいいのですが、 そういったコードはありますか? <body topmargin="0" leftmargin="0" marginwidth="0" marginheight="0"> <TABLE border="0" width="100%" height="100%"><TR align="center"><TD align="center"> <div class="centerdiv"> <script src="ジャバファイル" type="text/javascript"></script> </div> </TD> </TR> </TABLE> </body> </html>

  • Windows7とマック間でのファイル送受信

    Windows7で作ったファイルをマックに送り、再びこちらに返送してもらったら、グリッド線が碁盤の目のように縦と横の線になってしまいました。たぶん、マックの方に何らかの設定をすれば正常なファイルになるのではないかと思うのですが、どのような設定をすればよろしいでしょうか? ちなみに、私はマックのことは皆目わかりません。アドバイスをよろしくお願いいたします。

    • ベストアンサー
    • Mac
  • WindowsのExcelファイルがMacで崩れる

    先方がWindowsで作成したExcelファイル(おそらく最新)を こちらのMac OS (10.5.8)のExcelで開くと、 セルの幅や高さが変わるようで、 配置してある画像の縦・横比率も変わってしまっているようです。 (だいたい縦長になる・・・) したがって全体のレイアウトが崩れて見えて、 正確な図面などをおこしたい時に困っています。 Windowsで作成したExcelファイルを比率などそのままの状態で Macで開く方法はありますでしょうか。 宜しくお願いします。

  • Javascriptで起動するときの音の消失

    いつも、このページにはお世話になっています。 FLASHファイルで、別のFLASHファイルをJavascriptで呼び出すときに、音が鳴りません。 ファイル構成は以下のようになってます。 index.html file1.swf index2.html file2.swf 要するにindex.htmlにある、file1.swfから index2.htmlを呼びます。起動は出来ます。しかし、 index2.htmlにあるfile2.swfの音が途中で 切れてしまいます。 index.htmlの呼び出し側をAタグなどをして Javascriptを呼んだ場合は音が鳴ります。 これは何故なんでしょうか? すいません。困っていますよろしくお願いします。 コード↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ [file1.swf] _root.getURL("JavaScript:void(subOpenWin())"); [index.html] <script language='JavaScript'> <!-- function subOpenWin(){ var reSub = subOpen('index2.html','newOpen',0,0,0,0,1,0,1024,680,0,0); return reSub; } //--> </script>

    • ベストアンサー
    • Flash
  • 新しいウィンドウを、好みのサイズで、位置を指定して開く方法

    初心者ですが、どうぞ宜しくお願いします。 新しいウィンドウを、好みのサイズで開くには <a href="javascript:void(0);" onClick="window.open('ファイル名.html', 'newwin', 'width=横サイズ,height=縦サイズ,location=1')">任意の文字</a> となるみたいですが これに、位置を指定したいのです。 その場合、位置を指定するだけなら <a href="javascript:void(0);" onClick="window.open('ファイル名.html', 'newwin', 'left=画面左端からの位置,top=画面上端からの位置'')">任意の文字</a> となるようですが、好みのサイズで、位置を指定するには、どうしたらいいでしょうか? 自分で、タグを色々組み合わせてみたりしたのですが、エラーが出てしまい、無理でした。 それから、もう一つお願いいたします。 小さな画像があるのですが、それをマウスでポイントすると、画像にアクションが付くよう(画像が少し動くような感じ)にしたいのです。あるホームページで、そのようなアクションを見たので参考にしようと思い、タグを見てみたのですが、それらしきタグを見つける事ができませんでした。自分で、色々な言葉を組み合わせて検索もかけてみたのですが、組み合わせが悪いのか、見つかりませんでした。どなたか、お力を貸してください。 どうぞ、宜しくお願いいたします。

  • Mac フォルダ内を横スクロールから縦スクロールに

    いつもお世話になっております。 Mac OSX El Capitainを使っています。 最近、フォルダ内のファイルの並びが、縦にずらっと並んでいるフォルダと、横に並んでいるフォルダがあることに気がつきました。 ファイルを横にスクロールしていくのはやりにくいので、すべて縦スクロールで見れるようにしたいのですが、ファインダー表示などいろいろやってみましたが、うまくできません。 ご存知の方がいましたら教えていただけますでしょうか。 よろしくお願いします!

    • ベストアンサー
    • Mac