我有一个javascript,可以将用户重定向到移动用户的Web应用程序。
</script>
<script type="application/javascript" src="http://...js </script>
在某些情况下,网络应用程序会有一个返回网站的超链接。
在这种情况下,javascript会将用户重定向回Web应用程序。
为了防止这种情况,我考虑过提供一个额外的参数来绕过重定向。
例如:http://example.com?redir=false
如果此参数不存在,则上面的脚本应该有效,如果参数设置为false,则不应该。
我开始写这个函数但是因为我没有找到如何调用脚本而遇到了一些麻烦。
<script>
function WebAppredirect(){
var param = (location.search.split('redir=')[1]||'').split('&')[0]
if param == "false"{
//do nothing
} else{
//call script
}
}
你有什么想法吗?
答案 0 :(得分:1)
好的,我找到了解决方案。
function web() {
var script = document.createElement('script');
script.type = 'text/javascript';
script.async = true;
script.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'url.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(script, s);
}
function WebAppredirect(){
var param = (location.search.split('redir=')[1]||'').split('&')[0];
if (param == "false"){
//web();
}else{
web();
}
}
WebAppredirect()
答案 1 :(得分:0)
通过在代码后添加脚本来调用脚本。您调用的重定向用户的文件将其放在//注释所在的位置。
<script>
function WebAppredirect(){
var param = (location.search.split('redir=')[1]||'').split('&')[0];
if (param == "false"){
//Do nothing
} else{
if (screen.width <= 800) {
window.location = "http://m.domain.com";
} //In this case im just checking the size..
}
}
WebAppredirect()
<script>
当然,你会遇到另一个问题。由于您在用户刷新后未使用cookie或会话,因此会将其发送到移动版本。
所以你真的应该检查并使用这个cookie。 http://www.w3schools.com/js/js_cookies.asp
我也会在PHP中这样做。
答案 2 :(得分:0)
var qs = document.location.href;
var redir = false;
qs = qs.split('?');
if (qs[1]) {
qs = qs[1]
.split('&')
.indexOf('redir=false');
redir = (qs == -1)
}
长第5行接受查询字符串,使用'&amp;'将其拆分并搜索字符串'redir = false'。它应该足够了,但有数百万种方法可以达到相同的效果!