window.location.href出问题分析思路

海济梦茜老师

海济梦茜老师

2016-02-20 00:56

给自己一点时间接受自己,爱自己,趁着下午茶的时间来学习图老师推荐的window.location.href出问题分析思路,过去的都会过去,迎接崭新的开始,释放更美好的自己。

今天在公司给别的同事改bug,其中一个是window.location.href  不起作用

alert(ok)
window.location.href = ‘/event/index.php?from_city=’ + site;

上面的alert(ok);是不跳转后用来调试的,页面反映为现实url的值,但不进行跳转,分析思路是window.location.href出问题,所以尝试了常用的调试方式,比如:

判断是否是在包含页里面:采用

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

window.parent.location.href=url; //这个完全否决,因为不是这种情况

采用 window.href location.href document.href均无效

于是跳出判断函数内部出错,分析页面出发该函数的事件,原来是这样的:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

a href=javascript:void(0) onclick=changeSite(’200′)

发现问题:a href=javascript:void(0) ,于是修改为:

a href=javascript:changeSite(’200′)

于是一切正常!

为什么会发生这个问题呢?我们来看看javascript:void(0) :

JavaScript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。

void 操作符用法格式如下:
1. javascript:void (expression)
2. javascript:void expression

expression 是一个要计算的 JavaScript 标准的表达式。表达式外侧的圆括号是可选的,但是写上去是一个好习惯。 (实现版本 Navigator 3.0 )

你可以使用 void 操作符指定超级链接。表达式会被计算但是不会在当前文档处装入任何内容。

下面的代码创建了一个超级链接,当用户点击以后不会发生任何事。当用户点击链接时,void(0) 计算为 0,但在 JavaScript 上没有任何效果。

A HREF=javascript:void(0)单击此处什么也不会发生/A

下面的代码创建了一个超级链接,用户单击时会提交表单。

A HREF=javascript:void(document.form.submit())
单击此处提交表单/A

对于jquery 和yui等前端框架来说他们都有阻止默认事件的方法,在调用window.location.href 等其他重定向方法之前阻止掉连接的默认事件就可以哈

比如

$(’#changesite-panel a.city’).click(function(ev){
ev.preventDefault();
changeSite($(this).attr(’rel’));
});
function changeSite(site){
window.location.href = ‘/event/index.php?from_city=’ + site;
}
})();

展开更多 50%)
分享

猜你喜欢

window.location.href出问题分析思路

Web开发
window.location.href出问题分析思路

用window.location.href实现刷新另个框架页面

Web开发
用window.location.href实现刷新另个框架页面

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

JS教程:window.location用法区别

Web开发
JS教程:window.location用法区别

皮肤不好或是毛巾出问题

美容
皮肤不好或是毛巾出问题

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

主板Bios时间出问题怎样设置

电脑入门
主板Bios时间出问题怎样设置

孕妈健康出问题如何改善

孕期
孕妈健康出问题如何改善

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

7个在IE和Firefox中不同的JavaScript语法

7个在IE和Firefox中不同的JavaScript语法

巧用查找替换一次提取出所有邮箱地址

巧用查找替换一次提取出所有邮箱地址
下拉加载更多内容 ↓