如何跟踪一个javascript行为的起源,特别是-添加哈希到我的url
How to trace origin of a javascript behavior, specifically - adding hash to my urls
有人写了一些不好的代码,导致我们网站上一些url的末尾添加了一个哈希值。这也导致了一个额外的历史记录项,没有哈希值,所以用户必须点击"返回"两次,而他们只需要点击一次。
在Chrome的开发者控制台,我已经尝试搜索元素和所有的来源(ctrl-shift-f)的"历史"(只使用一次,不明显相关),以及"#","哈希",和其他的东西,我还没有发现什么是添加哈希符号到url和改变历史。
有办法追踪吗?
编辑:我试着在Chrome浏览器的源选项卡中设置一个断点,检查事件监听器断点/Load/hashchange下的框。但是chrome并没有停止。我不知道为什么。
但是下面的命令可以阻止脚本在hashchange
.
我在添加哈希之前在Chrome中设置了一个断点,然后在控制台中添加了以下内容:
jQuery(window).on('hashchange',function(){
debugger;
});
然后我继续脚本,它又暂停了,大概是在添加哈希之后(它现在在那里)。
现在我如何查看当前的执行状态?谁触发了hashchange?
将这行JS添加到它总是执行的地方:
jQuery('a').on('click',function( e ) {
e.preventDefault();
});
或者使用:
跟踪特定的a元素jQuery('a').on('click',function( e ) {
console.log(this);
});
但是即使你跟踪它,你也不能做任何事情,因为如果你删除href="#"点击'a'会刷新页面,所以你需要防止'a'标签的默认行为
相关文章:
- Internet Explorer缺少占位符支持,特别是密码字段
- 如何将CSS(特别是填充/边距)应用于select下拉菜单的选项或optgroup
- 如何从函数中获取变量?特别是一个数组
- JavaScript 是如何在 Google V8 中执行的,特别是与 Canvas 相关的代码
- createElementNS是否始终如一地离线工作?特别是使用 SVG 命名空间
- JavaScript可以“检测”浏览器打印设置(特别是如果选择了打印背景颜色)
- 将对象或函数添加到 HTML DOM 元素(特别是画布)
- PHP 相当于 JavaScript “this” 关键字,特别是在对象中
- 如何在 Javascript 中制作动画,特别是使用 Raphael 库,将具有 x,y 坐标的圆移动到不同的 x1,y
- 如何在节点JS中检查数据类型 - 特别是整数
- 是否可以在单击时将类(特别是其动画)重置回其初始状态
- 如何替换Javascript中的所有字符串?特别是与特殊字符的组合
- JavaScript帮助(特别是循环和数组)
- 如何在JQuery中收集有关滚动条的信息,特别是它是否被拖动
- 编辑活动Facebook页面的HTML(特别是聊天)
- MVVC模式中的模型指南(特别是使用knocket.js)
- 如何修复onclick在Phonegap/Android,特别是在较低版本的Android
- 如何防止从我的网站下载视频,特别是在互联网下载管理器中
- 如何创建直接指向动态图像的URL链接,特别是在本示例中
- 如何跟踪一个javascript行为的起源,特别是-添加哈希到我的url