2012-09-28 87 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...}变量