mirror of
https://git.mirrors.martin98.com/https://github.com/cilame/v_jstools
synced 2025-08-15 22:15:54 +08:00
add
This commit is contained in:
parent
516b5d7b26
commit
ca94c6c780
@ -39,10 +39,10 @@ chrome.contextMenus.create({
|
||||
function init_edit_function(){
|
||||
chrome.storage.local.get(["config-request_hook"], function (res) {
|
||||
try{
|
||||
var code = res["config-request_hook"]
|
||||
// TODO
|
||||
window.eval(res["config-request_hook"])
|
||||
}catch(e){
|
||||
console.log(e)
|
||||
change_request = undefined;
|
||||
console.log('evaluate code init change_request func err.', e)
|
||||
}
|
||||
})
|
||||
}
|
||||
@ -132,16 +132,45 @@ chrome.debugger.onEvent.addListener(function (source, method, params){
|
||||
}else{
|
||||
var options = { requestId: params.requestId }
|
||||
if (edit_request){
|
||||
var url = params.request.url
|
||||
var method = params.request.method
|
||||
var postData = params.request.postData
|
||||
var headers = params.request.headers
|
||||
// console.log(method, url, headers, postData)
|
||||
var { url, method, postData, headers } = params.request
|
||||
var config = { url, method, postData, headers }
|
||||
|
||||
if (typeof change_request != 'undefined'){
|
||||
try{
|
||||
change_request(config)
|
||||
}catch(e){
|
||||
console.log('run change_request err.', e)
|
||||
}
|
||||
}
|
||||
|
||||
var { url, method, postData, headers } = config
|
||||
|
||||
function base64(str){
|
||||
return CryptoJS.enc.Utf8.parse(str).toString(CryptoJS.enc.Base64)
|
||||
}
|
||||
// 这里处理更新操作
|
||||
// options.url = url
|
||||
// options.method = method
|
||||
// options.postData = postData
|
||||
// options.headers = headers // 这里直接放进去似乎还会有问题
|
||||
try{
|
||||
if (url){
|
||||
options.url = url
|
||||
}
|
||||
if (method){
|
||||
options.method = method
|
||||
}
|
||||
if (postData){
|
||||
options.postData = base64(postData)
|
||||
}
|
||||
if (headers){
|
||||
var keys = Object.keys(headers)
|
||||
var headers_list = []
|
||||
for (var i = 0; i < keys.length; i++) {
|
||||
headers_list.push({name:keys[i], value:headers[keys[i]]})
|
||||
}
|
||||
options.headers = headers_list
|
||||
}
|
||||
}catch(e){
|
||||
console.log('set change request err.', e)
|
||||
}
|
||||
console.log('change request options:', options)
|
||||
}
|
||||
sendCommand("Fetch.continueRequest", options, source);
|
||||
break;
|
||||
|
@ -139,8 +139,9 @@
|
||||
<table id="response_changer"></table>
|
||||
|
||||
<h2 style="margin-bottom: 0px;margin-top: 50px;">动态修改请求包</h2>
|
||||
<button id="default_code_dyn_change_request">默认代码模板</button>
|
||||
<hr>
|
||||
<textarea id='fetch_hook' data-key="config-request_hook" style="width: 100%; height: 500px"></textarea>
|
||||
<textarea id='request_hook' data-key="config-request_hook" style="width: 100%; height: 500px"></textarea>
|
||||
|
||||
<h2 style="margin-bottom: 0px;margin-top: 50px;">动态修改被调试页面的所有js代码</h2>
|
||||
<hr>
|
||||
|
41
options.js
41
options.js
@ -487,10 +487,49 @@ var fetch_hook = document.getElementById('fetch_hook');
|
||||
chrome.storage.local.get([fetch_hook.dataset.key], function (result) {
|
||||
fetch_hook.value = result[fetch_hook.dataset.key] || '';
|
||||
})
|
||||
fetch_hook.addEventListener("change", function(v){
|
||||
function change_fetch_hook(v){ console.log('change_fetch_hook')
|
||||
chrome.storage.local.set({
|
||||
[v.target.dataset.key]: v.target.value
|
||||
})
|
||||
}
|
||||
fetch_hook.addEventListener("input", change_fetch_hook)
|
||||
fetch_hook.addEventListener("change", change_fetch_hook)
|
||||
fetch_hook.addEventListener("blur", change_fetch_hook)
|
||||
var request_hook = document.getElementById('request_hook')
|
||||
chrome.storage.local.get([request_hook.dataset.key], function (result) {
|
||||
request_hook.value = result[request_hook.dataset.key] || '';
|
||||
})
|
||||
function change_request_hook(v){ console.log('change_request_hook')
|
||||
chrome.storage.local.set({
|
||||
[v.target.dataset.key]: v.target.value
|
||||
})
|
||||
}
|
||||
request_hook.addEventListener("input", change_request_hook)
|
||||
request_hook.addEventListener("change", change_request_hook)
|
||||
request_hook.addEventListener("blur", change_request_hook)
|
||||
var default_code_dyn_change_request = document.getElementById('default_code_dyn_change_request')
|
||||
default_code_dyn_change_request.addEventListener('click', function(e){
|
||||
request_hook.value =
|
||||
`/*
|
||||
* 在固定的函数名字里面编写你需要对特定参数修改的处理方式
|
||||
* 请勿修改下面函数的名字,需要的处理在函数内部处理即可
|
||||
* change_request 这个函数用于修改 Request 请求中的数据
|
||||
* 将修改后的值赋值给 config 就可以修改内容
|
||||
*/
|
||||
|
||||
function change_request(config){
|
||||
var { url, method, postData, headers } = config
|
||||
var new_url = url
|
||||
var new_method = method
|
||||
var new_postData = postData
|
||||
var new_headers = headers
|
||||
|
||||
// do something in here.
|
||||
console.log('new_postData', new_postData)
|
||||
|
||||
config.postData = new_postData
|
||||
}`
|
||||
request_hook.focus()
|
||||
})
|
||||
|
||||
var myinject = document.getElementById('myinject');
|
||||
|
Loading…
x
Reference in New Issue
Block a user