gpt4 book ai didi

javascript - 具有自定义 XMLHttpRequest 的 Google Chrome 扩展

转载 作者:行者123 更新时间:2023-11-30 18:34:33 29 4
gpt4 key购买 nike

我正在开发一个扩展,它应该监控远程服务器上的文件,如果文件发生变化(实际上它会附加一些文本),则需要下载该文件的更改(附加)部分。

所以,这是一个例子:

首先,文件内容是“abcd”。扩展已经得到了这部分。比有人在服务器上向文件添加一些内容,它将是“abcdefg”。这里的扩展应该只得到这个“efg”,而不是全部内容。这可能与 chrome 和 XMLHttpRequest 相关吗?

我为 FireFox 做了这个扩展,并使用了 XMLHttpRequest.setRequestHeader("Range", "bytes=4-6"(对于这种特殊情况),但在 Chrome 中这样做会导致安全违规。

此外,有没有办法在 Chrome 中设置 XMLHttpRequest.setRequestHeader("Accept-Encoding", null) ?我需要它来避免对 zip 格式的打包响应。

最佳答案

这是一个简单的工作示例。我希望它能帮助你找到你的问题。

此扩展程序从 http://lists.w3.org/ 页面下载 4 个 1024 字节的 block ,并在后台页面控制台中显示 chop 的 block 。

list .json

{
"name": "test",
"version": "0.0.1",
"background_page" : "background.html",
"permissions": [ "http://lists.w3.org/" ]
}

背景.html

<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<title>background page</title>
<script type="text/javascript" src="background.js"></script>
</head>
<body>
</body>
</html>

背景.js

var index = 0;

function readBlock() {
var request = new XMLHttpRequest();
request.open("GET", "http://lists.w3.org/");
request.setRequestHeader("Range", "bytes=" + index + "-" + (index + 1023));
request.addEventListener("load", function() {
console.log(index, request.response.substring(0, 100) + " ...");
index += 1024;
if (index < 4 * 1024)
readBlock();
}, false);
request.send();
}

readBlock();

关于javascript - 具有自定义 XMLHttpRequest 的 Google Chrome 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8645897/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com