在浏览器上下载选定的文本 - 浏览器扩展
Downloading a selected text on browser - browser extention
我正在尝试在我的浏览器(mozilla 或 chrome)上下载 selected 的单词或文本。当我 select 一个词并右键单击它时,我可以看到选项 "save this selected text to file" 选项。但是我无法获得 working.It 不下载文本的功能。我对扩展写作很陌生。我想通过简单的例子来学习东西
manifest.json
{
"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(':');
Question 中的 JavaScript 不会对 a.dataset.downloadurl = ['text/plain', a.download, a.href].join(':');
之后创建的 <a>
元素执行任何进一步的任务。
将创建的 <a>
元素附加到 document.body
并调用 a.click()
以提示用户提供文件下载。
我正在尝试在我的浏览器(mozilla 或 chrome)上下载 selected 的单词或文本。当我 select 一个词并右键单击它时,我可以看到选项 "save this selected text to file" 选项。但是我无法获得 working.It 不下载文本的功能。我对扩展写作很陌生。我想通过简单的例子来学习东西
manifest.json
{
"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(':');
Question 中的 JavaScript 不会对 a.dataset.downloadurl = ['text/plain', a.download, a.href].join(':');
之后创建的 <a>
元素执行任何进一步的任务。
将创建的 <a>
元素附加到 document.body
并调用 a.click()
以提示用户提供文件下载。