差異處
這裏顯示兩個版本的差異處。
java:web:redirectiniframe [2013/02/24 23:24] tony |
java:web:redirectiniframe [2023/06/25 09:48] |
||
---|---|---|---|
行 1: | 行 1: | ||
- | {{tag>java web}} | ||
- | ====== 如何在iframe中進行頁面導向? ====== | ||
- | 點擊iframe中的link,僅會讓iframe中的頁面導向。如果透過javascript要讓整個瀏覽器導向,只要用top.location.href即可。那透過java該如何達到呢?\\ | ||
- | {{:java:web:redirectpageiniframe.zip|Download Source Code}}\\ | ||
- | |||
- | 我寫了一個包含四個頁面的範例: index.html、Redirect.jsp、RedirectBtn.html、RedirectTarget.html。index.html內有一個iframe連結至RedirectBtn.html,顯示畫面如下:\\ | ||
- | {{:java:web:redirectiniframe.png|}}\\ | ||
- | |||
- | RedirectBtn.html包含兩個按鈕,**Redirect By Javascript**是透過javascript去Redirect;**Redirect By Jsp**則是透過jsp,點擊後會導向至Redirect.jsp。 | ||
- | <code html> | ||
- | <html> | ||
- | <head> | ||
- | <meta http-equiv="Content-Type" content="text/html; charset=BIG5"> | ||
- | <title>Redirect Btn Page</title> | ||
- | <script type="text/javascript"> | ||
- | function redirect(){ | ||
- | top.location.href = "RedirectTarget.html"; | ||
- | } | ||
- | </script> | ||
- | </head> | ||
- | <body> | ||
- | <form action="Redirect.jsp"> | ||
- | <input type="submit" value="Redirect By Jsp"> | ||
- | </form> | ||
- | <input type="button" value="Redirect By Javascript" onclick="redirect();"> | ||
- | </body> | ||
- | </html> | ||
- | </code> | ||
- | Redirect.jsp中,透過response物件,將javascript內容回應至client端,這與Redirect By Javascript會有相同的效果。 | ||
- | <code java> | ||
- | String redirectTarget = "<script type=\"text/javascript\">\ntop.location.href = \"RedirectTarget.html\";\n</script>"; | ||
- | response.getWriter().print(redirectTarget); | ||
- | response.flushBuffer(); | ||
- | </code> | ||
- | 如果是在servlet中,透過HttpServletResponse物件一樣能達到效果。 | ||
- | |||
- | 發自內心的獨白: 之所以會研究這個,是因為facebook AP在驗證授權的時候,會需要做頁面導向。然而我只是一個小小的canvus。 | ||
- | |||
- | ===== ===== | ||
- | ---- | ||
- | \\ | ||
- | ~~DISQUS~~ |