我需要console.log(),但是它无法正常工作,因为有人在生产站点中做了一些阻止它的操作。还有其他方法可以打印到控制台吗?还是使用可以打印完整对象的警报,例如console.log()呢?还是重新定义console.log()使其重新工作的方法?
jQuery库可供我使用。
最佳答案
根据他们阻止它的方式,您可以使用类似这样的东西。
console.log = function fake() {};
console.log("oh no! it's not working!")
delete console.log;
console.log("whew. back again.");
这只是删除了应用的自定义定义。
如果他们做了比这更聪明的事情,您也许可以做这样的事情。这会创建一个带有全新
iframe
对象的全新window
,您可以从中提取原始的console
。这仅在body元素已经存在的情况下有效。 var frame = document.createElement("iframe");
frame.style.display = "none";
document.body.appendChild(frame);
var myConsoleLog = function(message) {
(frame.contentWindow || frame).console.log(message);
}
myConsoleLog("this works too!");