有没有办法使用Web控制台动态更改JS?

时间:2014-06-04 09:40:04

标签: javascript firebug google-chrome-devtools

其实我想调试一个JS函数,但是我没有访问该文件。有没有办法通过Web控制台将警报放入函数内部。我不能在这里使用断点是因为那些功能是mosueover和鼠标输出。所以,当我甚至将鼠标指针移动到一个小时,它就会断开。

3 个答案:

答案 0 :(得分:1)

如果没有直接访问该功能,则无法做到。

如果您具有全局访问权限,则可以创建一个钩子。

var original = myFunction;
myFunction = function() {
    alert("something");
    return original();
}

或者,您可以清除绑定的事件处理程序并绑定您自己的处理程序。

element.removeEventListener("mouseover", myFunction);
element.addEventListener("mouseover", myDebugFunction);

答案 1 :(得分:0)

找到源代码,在相应的行上添加一个调试点。然后,将鼠标放在元素上。

但是,因为生产js文件通常是缩小和丑化的,所以可能无法实现。

答案 2 :(得分:0)

在浏览器中内置了一个调试器。练习using it

enter image description here

此外,您可以尝试从元素中关闭鼠标事件,然后在控制台中附加新功能。通过评论线条来玩它。这样您就可以动态更改代码。

这样的事情:

$("<myElement>").off().on(function() {

    // Line 1 of original function
    // Line 2 of original function
    // Line 3 of original function
    // ...

});