如何使用RegEx和Fiddler选择和替换整个JavaScript函数
我需要用Fiddler重写JavaScript函数。我认为部分解决了这个问题;不过,我仍在搜索正则表达式信息。例如:如何使用RegEx和Fiddler选择和替换整个JavaScript函数,javascript,regex,fiddler,Javascript,Regex,Fiddler,我需要用Fiddler重写JavaScript函数。我认为部分解决了这个问题;不过,我仍在搜索正则表达式信息。例如: function traceThis(message) { //setTimeout(function() { window.opener.childWindowMessageHandler(message);}, 100); //if (!window.console) console = {}; //console.log(message); } 需要成为
function traceThis(message) {
//setTimeout(function() { window.opener.childWindowMessageHandler(message);}, 100);
//if (!window.console) console = {};
//console.log(message);
}
需要成为:
function traceThis(message) {
setTimeout(function() { window.opener.childWindowMessageHandler(message);}, 100);
if (!window.console) console = {};
console.log(message);
}
我认为在traceThis()函数中匹配和替换单独的行会更简单;然而,我认为最有用的是学习如何选择和替换从“函数”到其结束“}”的任何所需函数,而不考虑其中的语句。函数的源代码可以通过
traceThis.toString()
从那里,您可以进行任何更改,然后使用新函数重新创建函数
function traceThis(message) {
与
这样,当您的注入器运行时,它会用您想要的脚本代码覆盖旧函数的前面,并将旧函数重命名为其他函数(永远不会被调用)。这在正则表达式中通常是不可能的,因为JavaScript(或大多数编程语言)不是常规语言(特别是因为您有嵌套结构)。因此,您应该寻找JavaScript解析器。
// Here's my NewFunction
function traceThis(message)
{
// My new instructions here
}
function OriginalVersionOfTraceThis(message) {