JavaScript:Change href on unload(或location.href Change)
在我们的站点中有几个链接(和javascript片段)包含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来处理链接,但我想知道是否有办法处理使用
/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确实有解决方案。