我做了很多工作,我使用 sublime 来编码,然后需要将内容复制到基于网络的“编辑器”,这真的很糟糕。我希望此文本框/编辑器的内容自动填充我选择的文本文件的内容。
我无法控制将代码复制到的网页,因此无法注入(inject)小程序或类似内容。
我希望做的是创建一个插件(我正在使用chrome),用它我可以选择一个元素作为目标,选择硬盘驱动器上的一个文本文件(或者可能是指向的url的内容) localhost(如果这样更容易的话)并让插件扫描更改并更新。
知道如何解决这个问题吗?也许已经有类似的事情做了?我用谷歌搜索,但似乎无法找到正确的术语(如果已经有的话)。
最佳答案
获取扩展中本地文件内容的最简单方法可能是通过 XMLHttpRequest
。例如,以下后台脚本获取/etc/passwd
的内容并将其打印到background console :
function pollContent() {
var x = new XMLHttpRequest();
x.open('GET', 'file:///etc/passwd');
x.onload = function() {
// Do something with data, e.g. print to console
console.clear();
console.log(x.responseText);
setTimeout(pollContent, 5000);
};
x.send();
}
pollContent();
为了使用之前的功能,您必须declare file://*/*
权限(或至少 file:///etc/passwd
)并启用“允许访问文件 URL”选项,位于 chrome://extensions/
。
只有后台页面可以获得file://
访问权限。您需要使用 message passing API将内容放入带有 content script 的文本框中.
关于javascript - Chrome 插件读取硬盘上的文本文件并替换文本框内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21017607/