浏览代码

Improved ConsoleOutputDisableExpressionTemplate.ts and fixed Content-Security-Policy problems with eval

sanex3339 4 年之前
父节点
当前提交
a3b73d87b9

文件差异内容过多而无法显示
+ 0 - 0
dist/index.browser.js


文件差异内容过多而无法显示
+ 0 - 0
dist/index.cli.js


文件差异内容过多而无法显示
+ 0 - 0
dist/index.js


+ 9 - 9
src/custom-code-helpers/console-output/templates/ConsoleOutputDisableExpressionTemplate.ts

@@ -3,22 +3,22 @@
  */
 export function ConsoleOutputDisableExpressionTemplate (): string {
     return `
-        const {consoleLogDisableFunctionName} = {callControllerFunctionName}(this, function () {            
+        const {consoleLogDisableFunctionName} = {callControllerFunctionName}(this, function () {
             {globalVariableTemplate}
-                        
-            const _console = (that.console = that.console || {});
+
+            const consoleObject = (that.console = that.console || {});
             const methods = ['log', 'warn', 'info', 'error', 'exception', 'table', 'trace'];
-            
+
             for (let index = 0; index < methods.length; index++){
-                const func = {callControllerFunctionName}.constructor();
+                const func = {callControllerFunctionName}.constructor.prototype.bind({callControllerFunctionName});
                 const methodName = methods[index];
-                const originalFunction = _console[methodName] || func;
+                const originalFunction = consoleObject[methodName] || func;
 
                 func.toString = originalFunction.toString.bind(originalFunction);
-                _console[methodName] = func;
-            };
+                consoleObject[methodName] = func;
+            }
         });
-        
+
         {consoleLogDisableFunctionName}();
     `;
 }

部分文件因为文件数量过多而无法显示