2017-08-11 75 views
0

鑑於我有兩個不同的應用程序服務器。一個是我的遊戲應用程序,另一個是在同一臺服務器上運行的另一個應用程序。加載無url更改網址

用戶在播放應用程序中打開一個鏈接,該鏈接重定向到另一個應用程序的url。

public class DocumentController extends Controller { 
    public Result open(String id) { 
     String url = generateURL(id); 
     return redirect(url); 
    } 
} 

此時如果用戶打開他重定向到另一個網址的第一個網址的那一刻,然後認爲這他的瀏覽器中的其他網址。我希望網址與第一個網址保持一致,但仍會加載並顯示第二個網址的內容。用戶只能在他的瀏覽器導航欄中看到第一個URL。

解決方案應該集成到現有的控制器中。我正在尋找的是「重定向(url)」的替代品。我在想「load(url)」或loadInFrame(url)。

這可能嗎?由rorschach

建議


解決這不是很喜歡我想象它,但它的工作原理:)

我有添加一個新的觀點:

@(url: String) 

<!DOCTYPE html> 
<html lang="de"> 
    <head> 
    </head> 
    <body> 
     <iframe src="@url"></iframe> 
    </body> 
</html> 

,取而代之的重定向我現在使用iframe中的給定URL呈現此新視圖:

return ok(iframeView.render(url)); 

+0

可以肯定,只需將其加載到iframe – Nathan

回答

1

您可以將添加到加載該網站的頁面或使用更加花哨的解決方案 - 在JavaScript中爲另一方請求,然後用該網頁替換頁面的全部內容。

編輯:(評論)之後

我看你已經徹底改變了問題的前提。哦..

  • 與該網站的URL在控制器返回自己的網頁在
  • 要求該網站的HTML內容在您的控制器和東西到你自己的網頁。
  • 返回自己的網頁,加載其他網站與JS和更換內容
  • 使這個過於複雜,並開始與Web服務器的配置亂搞確實有它做了重定向一個級別
+0

此問題適用於播放框架。如果我想用javascript解決方案,我只需要做。但是,還是,謝謝你試圖幫助。 – Spen

+0

@打開,你有沒有通過Play的文檔找到你的問題的解決方案?如果你有我相信你會發現沒有一個,因爲我們正在談論前端代碼 - 純HTML,CSS,JS。特別是因爲你正在談論互聯網/內聯網上的其他某個頁面。 你可以編寫模板來使用Play來渲染服務器端的頁面(就像任何合適的框架一樣),是的,你也可以通過在你的後端代碼中請求該站點,然後再次渲染*服務器端,但常識告訴你.. – rorschach

+0

@Spen ..這是一個'