Java 如何将我访问的每个页面的URL保存到.txt文件中
我想让它做的是,每次我访问一个新页面,点击一个链接,等等。URL将自动保存到一个.txt文件。 Chrome或Firefox都可以。 PHP、HTML、Java、Javascript也可以。 如果有人能帮我,那就太棒了Java 如何将我访问的每个页面的URL保存到.txt文件中,java,javascript,php,html,google-chrome,Java,Javascript,Php,Html,Google Chrome,我想让它做的是,每次我访问一个新页面,点击一个链接,等等。URL将自动保存到一个.txt文件。 Chrome或Firefox都可以。 PHP、HTML、Java、Javascript也可以。 如果有人能帮我,那就太棒了 chrome.browserAction.onClicked.addListener(createFile); createFile(); function createFile() { chrome.tabs.getSelected(null, function(ta
chrome.browserAction.onClicked.addListener(createFile);
createFile();
function createFile()
{
chrome.tabs.getSelected(null, function(tab) {
window.webkitRequestFileSystem(window.TEMPORARY, 1024*1024, function(fs) {
fs.root.getFile('test', {create: true}, function(fileEntry) {
fileEntry.createWriter(function(fileWriter) {
var builder = new WebKitBlobBuilder();
builder.append("Saurabh");
builder.append("\n");
builder.append("Saxena");
var blob = builder.getBlob('text/plain');
fileWriter.onwriteend = function() {
chrome.tabs.create({"url":fileEntry.toURL(),"selected":true},function(tab){});
};
fileWriter.write(blob);
}, errorHandler);
}, errorHandler);
}, errorHandler);
});
}
function errorHandler(e) {
var msg = '';
switch (e.code) {
case FileError.QUOTA_EXCEEDED_ERR:
msg = 'QUOTA_EXCEEDED_ERR';
break;
case FileError.NOT_FOUND_ERR:
msg = 'NOT_FOUND_ERR';
break;
case FileError.SECURITY_ERR:
msg = 'SECURITY_ERR';
break;
case FileError.INVALID_MODIFICATION_ERR:
msg = 'INVALID_MODIFICATION_ERR';
break;
case FileError.INVALID_STATE_ERR:
msg = 'INVALID_STATE_ERR';
break;
default:
msg = 'Unknown Error';
break;
};
Console.Log('Error: ' + msg);
}
我已经在Chrome中使用Tampermonkey尝试了Javascript代码,但没有成功。我知道如何通过创建Chrome扩展将URL保存到Chrome存储中 您必须使用下面描述的结构创建manifest.json:
{
"name": "Save URLs",
"description": "Save URLs",
"version": "0.7",
"permissions": [
"tabs", "storage"
],
"background": {
"scripts": ["store.js"]
},
"manifest_version": 2
}
和JavaScript文件store.js
var urlList = [];
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
if(changeInfo.url) {
urlList.push(tab.url);
chrome.storage.sync.set({'urlList': urlList}, function() {
// callback body
});
chrome.storage.sync.get('urlList', function(items) {
alert(items.urlList);
});
}
});
有关将扩展加载到浏览器中的信息:也许您应该尝试编写一个浏览器插件,该插件将监视您打开的URL。这看起来非常可疑
WebKitBlobBuilder
已经过时,您可能需要使用Blob构造函数newblob([data],{type:“text/plain”})
以下是您问题的答案:如果没有扩展名,每次有新url时都必须创建一个新文件。您可以通过收集特定域上localStrorage中的URL,然后按需下载列表来绕过这一点。或者,您可以将所有这些文件保存到某个文件夹中,并按需一次性将它们附加在一起,或者使用某个可执行文件来处理它们,并让该应用程序附加到您的主列表中。