質問: 開きたい新しいウィンドウにpostできますか? これは可能ですか? サードパーティのサイトが私のdrupalモジュールを実行しています エンドユーザーは次のリンクをクリックします。 新しいウィンドウを開きますwww.mysite.com/redirect.php およびpost特定のデータをこのページにwww.mysite.com/redirect.php ユーザーのブラウザがリダイレクトされるのを見てきましたが、上記の方法については明確ではありません。
回答: postで要求されたページを新しいウィンドウで開くリンクが必要な場合は、いくつかのアイデアがあります。ただし、postリクエストはブックマークできないことに注意してください。 新しいウィンドウでpost要求されたページを開くボタンを作成できます。 <form method="post" action="http://example.com/example.php" target="_blank"> <input type="hidden" name="name1" value="value1"> <input type="hidden" name="name2" value="value2"> <input type="submit" value="open results in a new window"> </form> リンクのように見せたい場合は、フォームを送信するonclick属性を使用してリンクを作成できます。 <form name="myform" method="post" action="http://example.com/example.php" target="_blank"> <input type="hidden" name="name1" value="value1"> <input type="hidden" name="name2" value="value2"> </form> <a href="http://example.com/example.php" onclick="document.forms['myform'].submit(); return false;">open results in a new window</a> onclickパーツはフォームを送信し、新しいウィンドウでpost要求されたページを開きます。 return falseは、ブラウザが現在のウィンドウのhrefアドレスにも同時にアクセスするのを防ぎます。 javascriptが無効になっている場合、またはリンクがブックマークされている場合、hrefアドレスはフォールバックとして使用されますが、結果のページはpost値を受け取りません。これは、ユーザーがリンクをブックマークする場合、ユーザーを混乱させるか、ユーザーに不親切になる可能性があります。 リンクをブックマーク可能にする場合は、ページがgetパラメーターを受け入れることができるかどうかを調査します。その場合、ブックマーク可能なリンクを作成できます。 <a href="http://example.com/example.php?name1=value1&name2=value2" target="_blank">open results in a new window</a>