如何在Chrome浏览器中调整窗口大小的通知

Ash*_*tal 1 google-chrome google-chrome-extension google-chrome-devtools

我正在为chrome浏览器编写扩展,我想为window resize事件添加事件监听器.我正在为窗口加载事件执行我的方法,但没有获取resize事件.

下面提到的是manifest.json文件的代码

{
  "name": "A browser action",
  "version": "1.0",
  "background": { "scripts": ["background.js"] },
  "permissions": [
    "tabs", "http://*/*"
  ],
  "manifest_version": 2
}
Run Code Online (Sandbox Code Playgroud)

下面提到的是我的background.js文件的代码.

var myExtension = 
{  
    init: function()
    {  
      // The event can be DOMContentLoaded, pageshow, pagehide, load or   unload.           
      alert("ASHSIH");
      window.addEventListener("resize", this.onmyPageResize, false);
    },
    onmyPageResize: function(aEvent) 
    {  
      alert("RESIZED");

    }  
}


window.addEventListener("load", function load(event){  
  window.removeEventListener("load", load, false); //remove listener, no longer   needed  
  myExtension.init();    
},false); 
Run Code Online (Sandbox Code Playgroud)

NVI*_*NVI 5

Chrome-o-Tile是在其内容脚本中侦听调整大小的扩展的一个示例.

在manifest.json中:

"content_scripts": [
  {
    "js": ["contentscript.js"],
    "run_at": "document_start",
    "matches": [
      "<all_urls>"
    ]
  }
],
Run Code Online (Sandbox Code Playgroud)

在contentscript.js中:

'use strict';

var timeoutId = 0;

window.addEventListener('resize', function() {
  if (timeoutId) {
    clearTimeout(timeoutId);
  }
  timeoutId = setTimeout(function() {
    chrome.runtime.sendMessage({method: 'resize'});
    timeoutId = 0;
  }, 100);
}, false);
Run Code Online (Sandbox Code Playgroud)

在background.js中:

chrome.runtime.onMessage.addListener(function requested(request) {
  if (request.method === 'resize') {
    ...
  }
)};
Run Code Online (Sandbox Code Playgroud)

还有一个未解决的问题是为Chrome扩展程序实施chrome.windows.onResize事件.