Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将我访问的每个页面的URL保存到.txt文件中_Java_Javascript_Php_Html_Google Chrome - Fatal编程技术网

Java 如何将我访问的每个页面的URL保存到.txt文件中

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

我想让它做的是,每次我访问一个新页面,点击一个链接,等等。URL将自动保存到一个.txt文件。 Chrome或Firefox都可以。 PHP、HTML、Java、Javascript也可以。 如果有人能帮我,那就太棒了

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,然后按需下载列表来绕过这一点。或者,您可以将所有这些文件保存到某个文件夹中,并按需一次性将它们附加在一起,或者使用某个可执行文件来处理它们,并让该应用程序附加到您的主列表中。