diff --git a/background.js b/background.js
index a1d8ce4..aee6c10 100644
--- a/background.js
+++ b/background.js
@@ -17,42 +17,6 @@ chrome.contextMenus.create({
AttachDebugger();
}
});
-// var cache_tabid_new = {}
-// var cache_tabid_att = {}
-// var debug_tab = false
-// function attach_tab_debug(tabId, changeInfo, tab) {
-// if (!changeInfo.url || changeInfo.url.indexOf('chrome://') == 0) return
-// if (!debug_tab) return
-// cache_tabid_new[tabId] = 1
-// var tabids = Object.keys(cache_tabid_new)
-// for (var i = 0; i < tabids.length; i++) {
-// if (cache_tabid_new[tabids[i]] == 1 && !cache_tabid_att[tabids[i]]){
-// cache_tabid_att[tabids[i]] = 1
-// var currtab = { tabId: +tabids[i] };
-// chrome.debugger.attach(currtab, "1.2", function () {
-// chrome.debugger.sendCommand(currtab, "Page.enable", {}, function(){});
-// chrome.debugger.sendCommand(currtab, "Page.addScriptToEvaluateOnNewDocument", {
-// source: "console.log(123)"
-// }, function(){});
-// });
-// }
-// }
-// }
-// chrome.tabs.onUpdated.addListener(attach_tab_debug);
-// chrome.debugger.onDetach.addListener(function(){ debug_tab = false })
-// chrome.contextMenus.create({
-// title: "测试代码超前运行",
-// contexts: ['all'],
-// onclick: function(){
-// debug_tab = true
-// chrome.tabs.query(
-// { active: true, currentWindow: true },
-// function (tabs) {
-// attach_tab_debug(tabs[0].id, {url: 'vilame'})
-// }
-// );
-// }
-// });
function sendCommand(method, params, source, chainfun){
chrome.debugger.sendCommand(source, method, params, function(result){
if (chrome.runtime.lastError) {
diff --git a/options.html b/options.html
index 167e9cf..72ad0d4 100644
--- a/options.html
+++ b/options.html
@@ -121,6 +121,13 @@
+
+
+ 仅调式模式下可用
+ 对已经打开的 tab 标签页面(非空页面)进行超前注入,注入过程只有一次,并不会像是上面的注入模式那样可以动态修改代码,如果想要让修改后的代码生效就需要关闭调式模式重新打开。
+
+
+
diff --git a/options.js b/options.js
index 30f3335..078d56d 100644
--- a/options.js
+++ b/options.js
@@ -500,6 +500,15 @@ myinject.addEventListener("change", function(v){
[v.target.dataset.key]: v.target.value
})
})
+var myinject_2 = document.getElementById('myinject_2');
+chrome.storage.local.get([myinject_2.dataset.key], function (result) {
+ myinject_2.value = result[myinject_2.dataset.key] || '';
+})
+myinject_2.addEventListener("change", function(v){
+ chrome.storage.local.set({
+ [v.target.dataset.key]: v.target.value
+ })
+})
var get_now = document.getElementById('get_now');
get_now.addEventListener("click", function(){
@@ -553,7 +562,54 @@ proxy_js.addEventListener("click", function(){
code_model.value = clear_mode(mk_proxy_code)
})
+var add_script_in_all_document = document.getElementById('add_script_in_all_document');
+add_script_in_all_document.addEventListener("click", function(){
+ debug_tab = true
+ chrome.tabs.query(
+ { active: true, currentWindow: true },
+ function (tabs) {
+ chrome.debugger.attach({ tabId: tabs[0].id }, "1.2", function(){});
+ }
+ );
+})
+
+var cache_tabid_new = {}
+var cache_tabid_att = {}
+var debug_tab = false
+function attach_tab_debug(tabId){
+ cache_tabid_new[tabId] = 1
+ var tabids = Object.keys(cache_tabid_new)
+ for (var i = 0; i < tabids.length; i++) {
+ if (cache_tabid_new[tabids[i]] == 1 && !cache_tabid_att[tabids[i]]){
+ cache_tabid_att[tabids[i]] = 1
+ var currtab = { tabId: +tabids[i] };
+ chrome.debugger.attach(currtab, "1.2", function () {
+ chrome.debugger.sendCommand(currtab, "Page.enable", function(){});
+ chrome.debugger.sendCommand(currtab, "Page.addScriptToEvaluateOnNewDocument", {
+ source: myinject_2.value
+ }, function(){});
+ });
+ }
+ }
+}
+// function attach_tab_debug_update(tabId, changeInfo, tab) {
+// if (!changeInfo.url || changeInfo.url.indexOf('chrome://') == 0) return
+// if (!debug_tab) return
+// attach_tab_debug(tabId)
+// }
+function attach_tab_debug_active(tabIdobj){
+ if (!debug_tab) return
+ attach_tab_debug(tabIdobj.tabId)
+}
+// chrome.tabs.onUpdated.addListener(attach_tab_debug_update);
+chrome.tabs.onActivated.addListener(attach_tab_debug_active);
+chrome.debugger.onDetach.addListener(function(){
+ cache_tabid_new = {}
+ cache_tabid_att = {}
+ debug_tab = false
+})
+
// var proxy_config = document.getElementById('proxy_config');
// proxy_config.addEventListener("change", function(v){
// v.target.value
-// })
\ No newline at end of file
+// })