小编Jos*_*osh的帖子

Chrome扩展程序 - 阅读响应正文的其他方法,而不是chrome.devtools.network?

我想阅读(不修改)与Chrome扩展程序中某些模式匹配的所有请求的响应正文.我目前正在使用chrome.devtools.network.onRequestFinished,它为您提供了一个RequestgetContent()方法的对象.这工作正常,但当然需要开放devtools才能使扩展工作.理想情况下,扩展名是弹出窗​​口,但chrome.webRequest.onCompleted似乎不提供对响应正文的访问权限.有一个功能请求允许webRequest API 编辑响应主体 - 但webRequest是否可以读取它们?如果没有,是否还有其他方法可以读取devtools扩展之外的响应主体?

google-chrome-extension google-chrome-devtools

35
推荐指数
1
解决办法
7554
查看次数

是否可以在IE中使用iframe而不会出现内存泄漏?

所有版本的IE(包括10个)似乎都会保留iframe分配的大量内存,直到发生window.top.unload.这为长寿命页面带来了相当大的挑战,这些页面可能在其整个生命周期中创建许多iframe.可以在此处找到问题的简化示例:

http://pastebin.com/FmZ7iMHB

该示例使用iframe的Wikipedia页面来放大问题,但即使是包含单个图像的简单页面也会泄漏.

简而言之,在IE中销毁iframe之后,在下一次页面触发垃圾收集时会得到一些但不是全部内存(通常iframe使用的内存大约有25%会陷入困境).刷新或导航到新页面(window.top.unload)将释放大部分或全部剩余内存.

sIEve和Microsoft的JS Memory Leak Detector等工具中无法检测到这种特殊泄漏.我已经阅读了IE中关于漏洞iframe的所有内容,但是我遇到过的解决方案没有运气.

有没有人知道这个问题的解决方案或解决方法?我唯一的缓解策略是在父页面销毁之前尽可能多地从iframe中进行清理,但是当你不控制被框架的页面时,这没有任何帮助.

iframe internet-explorer memory-leaks

24
推荐指数
1
解决办法
2万
查看次数

我对Gruntjs目标做错了什么?

我按照grunt.option页面上的说明为我的Gruntfile中的不同环境/目标(如开发,登台和生产)创建了不同的配置.但是,在这样做时,我发现我的任务无声地失败了.

我把问题简化为一个非常简单的例子.以下Gruntfile无法构建文件:

module.exports = function (grunt) {
  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    less: {
      dev: {
        options: {
          compress: true
        },
        build: {
          src: ['src/css/test.less'],
          dest: 'build/css/test.css'
        }
      }
    }
  });

  grunt.loadNpmTasks('grunt-contrib-less');
  grunt.registerTask('default', ['less:dev']);
};
Run Code Online (Sandbox Code Playgroud)

我的终端输出如下:

$ grunt
Running "less:dev" (less) task

Done, without errors.
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用以下Gruntfile,则构建输出符合预期:

module.exports = function (grunt) {
  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    less: {
      options: {
        compress: true
      },
      build: {
        src: ['src/css/test.less'],
        dest: 'build/css/test.css'
      }
    }
  });

  grunt.loadNpmTasks('grunt-contrib-less');
  grunt.registerTask('default', ['less']);
};
Run Code Online (Sandbox Code Playgroud)

此Gruntfile的终端输出反映了构建的文件:

$ grunt
Running …
Run Code Online (Sandbox Code Playgroud)

node.js gruntjs

2
推荐指数
1
解决办法
2902
查看次数