Javascript 在浏览器上下载选定文本-浏览器扩展
我正在尝试在浏览器(mozilla或chrome)上下载选定的单词或文本。当我选择一个单词并右键单击它时,我可以看到“将所选文本保存到文件”选项。但我无法让功能正常工作。它无法下载文本。我对扩展写作还不太熟悉。我想通过简单的例子来学习 manifest.jsonJavascript 在浏览器上下载选定文本-浏览器扩展,javascript,google-chrome,google-chrome-extension,browser-extension,Javascript,Google Chrome,Google Chrome Extension,Browser Extension,我正在尝试在浏览器(mozilla或chrome)上下载选定的单词或文本。当我选择一个单词并右键单击它时,我可以看到“将所选文本保存到文件”选项。但我无法让功能正常工作。它无法下载文本。我对扩展写作还不太熟悉。我想通过简单的例子来学习 manifest.json { "manifest_version":2, "version":"1.0", "name": "Selected Text Saver", "permissio
{
"manifest_version":2,
"version":"1.0",
"name": "Selected Text Saver",
"permissions": [
"contextMenus",
"activeTab"
],
"background": {
"scripts": ["main.js"]
}
}
main.js
mouse1 = function(){
chrome.tabs.executeScript({
file: 'saver.js'
});
};
chrome.contextMenus.create({
title: "Save this selected text to file",
contexts:["selection"],
onclick: mouse1
});
saver.js
var text = window.getSelection().toString();
var bb = new Blob([text], {type: 'text/plain'});
var a = document.createElement('a');
a.download = document.title.slice(0, 50).replace('/*[<>:/\\|?*]*/g', '') + '.txt';
a.href = window.URL.createObjectURL(bb);
a.dataset.downloadurl = ['text/plain', a.download, a.href].join(':');
var text=window.getSelection().toString();
var bb=新Blob([text],{type:'text/plain'});
var a=document.createElement('a');
a、 download=document.title.slice(0,50)。替换('/*[:/\\\\\?*]*/g','')+'.txt';
a、 href=window.URL.createObjectURL(bb);
a、 dataset.downloadurl=['text/plain',a.download,a.href].join(':');
问题中的JavaScript不会使用a.dataset.downloadurl=['text/plain',a.download,a.href]之后创建的
元素执行任何进一步的任务代码>
将创建的
元素附加到文档.body
并调用a。单击()
,系统将提示用户提供文件下载。非常感谢