最近の window.open() では、無効なオプションもある。ブラザの対応状況を調べるために、すべてのオプションを指定できるサンプルを作成した。
[source] [reload] |
<!DOCTYPE html> <html> <head> <title>WindowOpen</title> <script src="https://code.jquery.com/jquery-2.2.4.min.js"></script> </head> <body> <table border="0"> <tr> <td>top:</td> <td><input type="text" id="top" value="200"/> </tr> <tr> <td>left:</td> <td><input type="text" id="left" value="300"/> </tr> <tr> <td>width:</td> <td><input type="text" id="width" value="800"/> </tr> <tr> <td>height:</td> <td><input type="text" id="height" value="600"/> </tr> <tr> <td>menubar:</td> <td> <input type="radio" name="menubar" value="yes"/>yes <input type="radio" name="menubar" value="no" checked="checked"/>no </td> </tr> <tr> <td>toolbar:</td> <td> <input type="radio" name="toolbar" value="yes"/>yes <input type="radio" name="toolbar" value="no" checked="checked"/>no </td> </tr> <tr> <td>location:</td> <td> <input type="radio" name="location" value="yes"/>yes <input type="radio" name="location" value="no" checked="checked"/>no </td> </tr> <tr> <td>status:</td> <td> <input type="radio" name="status" value="yes"/>yes <input type="radio" name="status" value="no" checked="checked"/>no </td> </tr> <tr> <td>resizable:</td> <td> <input type="radio" name="resizable" value="yes" checked="checked"/>yes <input type="radio" name="resizable" value="no"/>no </td> </tr> <tr> <td>scrollbars:</td> <td> <input type="radio" name="scrollbars" value="yes"/>yes <input type="radio" name="scrollbars" value="no" checked="checked"/>no </td> </tr> <tr> <td>url:</td> <td><input type="text" id="url" value="http://www.fujitsu.com/"/> </tr> <tr> <td>target:</td> <td> <input type="radio" name="target" value="_blank" checked="checked"/>_blank <input type="radio" name="target" value="_self"/>_self <input type="radio" name="target" value="_top"/>_top <input type="radio" name="target" value="_parent"/>_parent </td> </tr> </table> <button>OpenWindow</button> <br> <div id="options" style="background-color:khaki; margin-top:20px"> </div> <script> $('button').on('click', function () { var option = 'top=' + $('#top').val() + ', left=' + $('#left').val() + ', width=' + $('#width').val() + ', height=' + $('#height').val() + ', menubar=' + $('input[name=menubar]:checked').val() + ', toolbar=' + $('input[name=toolbar]:checked').val() + ', location=' + $('input[name=location]:checked').val() + ', status=' + $('input[name=status]:checked').val() + ', resizable=' + $('input[name=resizable]:checked').val() + ', scrollbars=' + $('input[name=scrollbars]:checked').val(); var url = $('#url').val(); var target = $('input[name=target]:checked').val(); $('#options').text('window.open(\'' + url + '\', \'' + target + '\', \'' + option + '\')'); window.open(url, target, option); }); </script> </body> </html>
<html> <head> <title>親ウィンドウからサブウィンドウの関数を呼び出す</title> <script Language="JavaScript"><!-- subWin = window.open("sub.html","sub","width=320,height=240"); function call() { subWin.myFunc(); } // --></script> </head> <body> <a href="javaScript:call()">サブウィンドウの関数を呼び出す</a> </body> </html>
<html> <head> <title>親ウィンドウからサブウィンドウの関数を呼び出す</title> <script Language="JavaScript"><!-- function myFunc() { alert("サブウィンドウ側の関数です"); } // --></script> </head> <body> サブウィンドウ側 </body> </html>