我正在构建一个浏览器扩展,尝试将浏览器请求重定向到我的页面,其中包含大量数据,这些数据将包含在我根据请求的URL调用的服务返回的JSON数组中。例如,如果用户转到示例。com,我有一个
chrome.webRequest.onBeforeRequest.addListener
根据
urls
过滤器,调用一个AWS API网关端点,该端点用JSON对象中的事物列表进行响应。我需要我的本地页面在本地页面中显示该列表。
我可以通过使用URL参数调用本地页面(然后将其视为GET请求)来展示一些小东西,但这对我想要传递的数据量不起作用。我该如何为客户创建POST请求
redirect
网址?
或者,我是否应该使用其他模式来实现这一点?
侦听器代码:
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
if(swenToggle) {
return { redirectUrl: chrome.extension.getURL("markup/simple.html?r=n&url=" + details.url) }; // This is fine for simple data
} else {
//get the base URL
var baseUrl = new URL(details.url).hostname.split(".").slice(-2).join(".")
var apiUrl = // Call AWS API here
fetch(apiUrl).then(r => r.json()).then(result => {
console.log('RESULT : ' + result.body); // I need to pass this body to the redirectUrl below...
})
return { redirectUrl: chrome.extension.getURL("markup/complex.html?sourceUrl=" + baseUrl) };
}
},
{ urls: "example.com"},
["blocking"]
);