2012-09-28 19 views
0

在我們網站中有幾個鏈接(和javascript)包含/2012/responses/{pathParams...},我現在需要有條件地添加到路徑中,如果它是webview。JavaScript:更改href on卸載(或location.href更改)

if (isWebview) { 
    // use '/2012/responses/webview/{pathParams...}' 
} else { 
    // use '/2012/responses/{pathParams...}' 
} 

我可以通過檢查document.links處理的聯繫,但我不知道是否有處理的JavaScript的作品使用window.location = '/2012/responses/...'的方式。一種方法是創建一個函數,該函數執行window.location更改,並用該函數替換window.location語句。但是,有沒有辦法將它作爲一個事件來處理,所以當頁面更改時,我可以有條件地在網址中插入/webview?瀏覽器限制似乎將beforeunload事件限制爲僅提示用戶。

+2

你的問題意味着你有大量的JavaScript的工作無關位分別補償/校正其他位。爲什麼你沒有把所有這些整理成一個連貫的函數來處理URL(或'href')更新? –

+0

@DavidThomas真的有解決方案。 –

回答

0

我認爲你不能。我對你有2種選擇:

選項1:

做一個使用三元在線更換所有你的代碼,如果 - >我建議

樣本:

搜索:

'/2012/responses/{pathParams...}' 
'/2012/responses/'+((isWebView?)?'webview/':'')+'{pathParams...}' 

選項2:替換爲

/webView有條件上服務器端{pathParams...}變量