Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有没有办法使用web控制台动态更改JS?_Javascript_Firebug_Google Chrome Devtools - Fatal编程技术网

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

Javascript 有没有办法使用web控制台动态更改JS?,javascript,firebug,google-chrome-devtools,Javascript,Firebug,Google Chrome Devtools,实际上我想调试一个JS函数,但我没有访问该文件的权限。是否有任何方法可以通过Web控制台将警报放入函数中。我不能在这里使用断点,因为这些函数是最常用的。所以,当我甚至把鼠标指针移动一小段时,它就断了 找到源代码,在相应的行上添加调试点。然后,将鼠标放在元素上 但是,由于生产js文件通常都是小型化和丑陋化的,所以这可能是不可能的。如果不直接访问该功能,您就没有什么可以做的了 如果你有全局访问权限,你可以创建一个钩子 var original = myFunction; myFunction = f

实际上我想调试一个JS函数,但我没有访问该文件的权限。是否有任何方法可以通过Web控制台将警报放入函数中。我不能在这里使用断点,因为这些函数是最常用的。所以,当我甚至把鼠标指针移动一小段时,它就断了

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


但是,由于生产js文件通常都是小型化和丑陋化的,所以这可能是不可能的。

如果不直接访问该功能,您就没有什么可以做的了

如果你有全局访问权限,你可以创建一个钩子

var original = myFunction;
myFunction = function() {
    alert("something");
    return original();
}
或者,您可以清除绑定的事件处理程序并绑定自己的事件处理程序

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

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

另外,您可以尝试从元素中关闭鼠标事件,然后在控制台中附加一个新函数。通过注释出台词来玩它。这样,您可以动态更改代码

大概是这样的:

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

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

});
$(“”).关闭().打开(函数(){
//原始函数的第1行
//原始函数的第2行
//原始函数的第3行
// ...
});