mirror of
				https://github.com/tidys/cc-inspector-chrome
				synced 2025-11-04 08:15:25 +00:00 
			
		
		
		
	no message
This commit is contained in:
		@@ -14,6 +14,7 @@ function longConnectionLink(data, sender) {
 | 
			
		||||
chrome.runtime.onConnect.addListener(function (port) {
 | 
			
		||||
  console.log(`%c[长连接:${port.name}] 建立链接!`, 'background:#aaa;color:#ff0000');
 | 
			
		||||
  port.onMessage.addListener(longConnectionLink);
 | 
			
		||||
  port.postMessage("ok");
 | 
			
		||||
  port.onDisconnect.addListener(function (port) {
 | 
			
		||||
    console.log(`%c[长连接:${port.name}] 断开链接!`, 'background:#aaa;color:#00ff00');
 | 
			
		||||
    port.onMessage.removeListener(longConnectionLink);
 | 
			
		||||
@@ -23,3 +24,39 @@ chrome.runtime.onConnect.addListener(function (port) {
 | 
			
		||||
// background.js 更像是一个主进程,负责整个插件的调度,生命周期和chrome保持一致
 | 
			
		||||
// [短连接] 监听来自content.js发来的事件
 | 
			
		||||
chrome.runtime.onMessage.addListener(shortConnectionLink);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
function createPluginMenus() {
 | 
			
		||||
  // 右键菜单
 | 
			
		||||
  let parent = chrome.contextMenus.create({id: "parent", title: "CC-Inspector"});
 | 
			
		||||
  chrome.contextMenus.create({
 | 
			
		||||
    id: "test",
 | 
			
		||||
    title: "测试右键菜单",
 | 
			
		||||
    parentId: parent,
 | 
			
		||||
    // 上下文环境,可选:["all", "page", "frame", "selection", "link", "editable", "image", "video", "audio"],默认page
 | 
			
		||||
    contexts: ['page'],
 | 
			
		||||
  });
 | 
			
		||||
  chrome.contextMenus.create({
 | 
			
		||||
    id: "notify",
 | 
			
		||||
    parentId: parent,
 | 
			
		||||
    title: "通知"
 | 
			
		||||
  })
 | 
			
		||||
 | 
			
		||||
  chrome.contextMenus.onClicked.addListener(function (info, tab) {
 | 
			
		||||
    if (info.menuItemId === "test") {
 | 
			
		||||
      alert('您点击了右键菜单!');
 | 
			
		||||
    } else if (info.menuItemId === "notify") {
 | 
			
		||||
      chrome.notifications.create(null, {
 | 
			
		||||
        type: "basic",
 | 
			
		||||
        iconUrl: "icon/icon48.png",
 | 
			
		||||
        title: "通知",
 | 
			
		||||
        message: "测试通知",
 | 
			
		||||
      })
 | 
			
		||||
    }
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
chrome.contextMenus.removeAll(function () {
 | 
			
		||||
  createPluginMenus();
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
// 具有操作dom的能力
 | 
			
		||||
// 加载其他脚本
 | 
			
		||||
 | 
			
		||||
// content.js 和原始界面共享DOM,但是不共享js,要想访问页面js,只能通过注入的方式
 | 
			
		||||
function injectScriptToPage(url) {
 | 
			
		||||
  let content = chrome.extension.getURL(url)
 | 
			
		||||
  console.log(`[cc-inspector]注入脚本:${content}`);
 | 
			
		||||
@@ -16,8 +16,18 @@ function injectScriptToPage(url) {
 | 
			
		||||
 | 
			
		||||
injectScriptToPage("js/inject.js");
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// 和background.js保持长连接通讯
 | 
			
		||||
let conn = chrome.runtime.connect({name: "connect.js"})
 | 
			
		||||
// conn.postMessage('test');
 | 
			
		||||
let EventMgr=require("../core/event-mgr");
 | 
			
		||||
debugger
 | 
			
		||||
EventMgr.id="inject-id";
 | 
			
		||||
conn.onMessage.addListener(function (port) {
 | 
			
		||||
  debugger
 | 
			
		||||
})
 | 
			
		||||
// 接受来自inject.js的消息数据
 | 
			
		||||
window.addEventListener('message', function (event) {
 | 
			
		||||
  debugger
 | 
			
		||||
  let data = event.data;
 | 
			
		||||
  // console.log("[contentScripts] " + JSON.stringify(data));
 | 
			
		||||
  chrome.runtime.sendMessage(data);
 | 
			
		||||
@@ -33,6 +43,7 @@ if (gameCanvas) {
 | 
			
		||||
  // gameCanvas.style.display = 'none';
 | 
			
		||||
} else {
 | 
			
		||||
  // console.log("can't find GameCanvas element");
 | 
			
		||||
  // 和background.js保持短连接通讯
 | 
			
		||||
  chrome.runtime.sendMessage({type: 0, msg: "no creator game!"}, function (data) {
 | 
			
		||||
    console.log(data)
 | 
			
		||||
  });
 | 
			
		||||
 
 | 
			
		||||
@@ -175,3 +175,14 @@ setInterval(function () {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}, 1000);
 | 
			
		||||
window.ccinspector.testMsg1 = function () {
 | 
			
		||||
  window.postMessage("testMsg1")
 | 
			
		||||
}
 | 
			
		||||
window.ccinspector.testMsg2 = function () {
 | 
			
		||||
  debugger
 | 
			
		||||
  chrome.runtime.connect({name: "inject"});
 | 
			
		||||
}
 | 
			
		||||
window.ccinspector.testMsg3=function () {
 | 
			
		||||
  debugger
 | 
			
		||||
  chrome.runtime.sendMessage("ffff");
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										3
									
								
								CocosCreatorInspector/src/core/event-mgr.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								CocosCreatorInspector/src/core/event-mgr.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
			
		||||
module.exports = {
 | 
			
		||||
  id: "event-mgr",
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										3
									
								
								CocosCreatorInspector/src/core/event.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								CocosCreatorInspector/src/core/event.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
			
		||||
module.exports = {
 | 
			
		||||
  id: "event-id",
 | 
			
		||||
}
 | 
			
		||||
@@ -18,12 +18,3 @@ chrome.devtools.panels.create("Cocos", "icon/icon48.png", "pages/devtools_panel.
 | 
			
		||||
  }
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
// (function () {
 | 
			
		||||
//   var t = window.setInterval(function () {
 | 
			
		||||
//      egret && egret.devtool &&
 | 
			
		||||
//       egret.devtool.start &&
 | 
			
		||||
//       (window.clearInterval(t) || egret.devtool.start());
 | 
			
		||||
//     console.log("waiting")
 | 
			
		||||
//   }, 100);
 | 
			
		||||
//   egret && egret.devtool && egret.devtool.start && (window.clearInterval(t) || egret.devtool.start());
 | 
			
		||||
// })();
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,9 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <div id="app">
 | 
			
		||||
    <el-button type="success" class="el-icon-refresh" size="mini" @click="onBtnClickUpdatePage">刷新</el-button>
 | 
			
		||||
    <!--<el-button type="success" size="mini" @click="onTestData">测试</el-button>-->
 | 
			
		||||
    <!--<el-button type="success" size="mini" @click="onBtnClickTest">test</el-button>-->
 | 
			
		||||
    <el-button type="success" size="mini" @click="onBtnClickTest1">Test1</el-button>
 | 
			
		||||
    <el-button type="success" size="mini" @click="onBtnClickTest2">Test2</el-button>
 | 
			
		||||
    <el-button type="success" size="mini" @click="onBtnClickTest3">Test3</el-button>
 | 
			
		||||
    <div v-show="isShowDebug">
 | 
			
		||||
      <el-row>
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
@@ -46,6 +47,7 @@
 | 
			
		||||
      // chrome.devtools.inspectedWindow.tabId
 | 
			
		||||
      let conn = chrome.runtime.connect({name: "devtools"});
 | 
			
		||||
      conn.onMessage.addListener(function (data, sender) {
 | 
			
		||||
        debugger
 | 
			
		||||
        if (data !== null) {
 | 
			
		||||
          let msgType = {
 | 
			
		||||
            nodeInfo: 2,//节点信息
 | 
			
		||||
@@ -184,7 +186,20 @@
 | 
			
		||||
        chrome.devtools.inspectedWindow.eval(code, function () {
 | 
			
		||||
          console.log("刷新成功!");
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
      },
 | 
			
		||||
      onBtnClickTest1() {
 | 
			
		||||
        chrome.devtools.inspectedWindow.eval(`window.ccinspector.testMsg1()`)
 | 
			
		||||
      },
 | 
			
		||||
      onBtnClickTest2() {
 | 
			
		||||
        chrome.devtools.inspectedWindow.eval(`window.ccinspector.testMsg2()`)
 | 
			
		||||
      },
 | 
			
		||||
      onBtnClickTest3() {
 | 
			
		||||
        // chrome.devtools.inspectedWindow.eval(`window.ccinspector.testMsg3()`)
 | 
			
		||||
        let f = require("../../core/event-mgr");
 | 
			
		||||
        console.log(f.id);
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
</script>
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,14 @@ module.exports = {
 | 
			
		||||
    scripts: ["js/background.js"],
 | 
			
		||||
    persistent: false,// 需要时开启
 | 
			
		||||
  },
 | 
			
		||||
  // optionsV1的写法
 | 
			
		||||
  options_page: "pages/options.html",
 | 
			
		||||
  // optionsV2的写法
 | 
			
		||||
  options_ui: {
 | 
			
		||||
    page: "pages/options.html",
 | 
			
		||||
    // 添加一些默认的样式,推荐使用
 | 
			
		||||
    chrome_style: true,
 | 
			
		||||
  },
 | 
			
		||||
  manifest_version: 2,
 | 
			
		||||
  permissions: [
 | 
			
		||||
    "tabs",
 | 
			
		||||
@@ -33,7 +40,9 @@ module.exports = {
 | 
			
		||||
    "system.cpu",
 | 
			
		||||
    "tabs",
 | 
			
		||||
    "storage",
 | 
			
		||||
    "nativeMessaging"
 | 
			
		||||
    "nativeMessaging",
 | 
			
		||||
    "contextMenus",
 | 
			
		||||
    "notifications",
 | 
			
		||||
  ],
 | 
			
		||||
  web_accessible_resources: ["*/*", "*"],
 | 
			
		||||
  content_security_policy: "script-src 'self' 'unsafe-eval';  object-src 'self'"
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user