JavaScript:Change href on unload(或location.href Change)

JavaScript:Change href on unload(或location.href Change),javascript,javascript-events,location-href,Javascript,Javascript Events,Location Href,在我们的站点中有几个链接(和javascript片段)包含/2012/responses/{pathParams…},如果是webview,我现在需要有条件地添加到路径中 if (isWebview) { // use '/2012/responses/webview/{pathParams...}' } else { // use '/2012/responses/{pathParams...}' } 我可以通过检查document.links来处理链接,但我想知道是否有办法处理使用

在我们的站点中有几个链接(和javascript片段)包含
/2012/responses/{pathParams…}
,如果是webview,我现在需要有条件地添加到路径中

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

我可以通过检查
document.links
来处理链接,但我想知道是否有办法处理使用
window.location='/2012/responses/…'
的javascript片段。一种方法是创建一个执行window.location更改的函数,并用该函数替换window.location语句。但是,有没有办法将其作为事件处理,这样当页面发生更改时,我可以有条件地在URL中插入
/webview
?浏览器限制似乎将卸载前的
事件限制为仅提示用户。

我想您不能。我有两个选项供您选择:

选项1:

如果我建议使用三元内联-->对代码执行“全部替换”

样本:

搜索:

    '/2012/responses/{pathParams...}'
替换为:

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


/webView
有条件地放在服务器端的
{pathParams…}
变量中

您的问题意味着您有许多不相关的JavaScript位分别工作,并补偿/纠正其他位。为什么您没有将所有这些整理成一个统一的函数来处理URL(或
href
)更新呢?@DavidThomas确实有解决方案。