【问题标题】:How to save URL of every page I visit to a .txt file如何将我访问的每个页面的 URL 保存到 .txt 文件
【发布时间】:2014-09-06 16:38:08
【问题描述】:

我希望它做的是,每次我访问一个新页面、点击一个链接等时,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 代码,但它不起作用。

【问题讨论】:

  • 也许您应该尝试编写一个浏览器插件来监视您打开的 URL。
  • 这看起来很可疑。WebKitBlobBuilder 已过时,您可能想使用 Blob 构造函数; new Blob([data], {type: "text/plain"})
  • 这里是您问题的答案:stackoverflow.com/questions/19802032/…
  • 如果没有扩展名,每次有新的 url 时都必须创建一个新文件。您可以通过在特定域的 localStorage 中收集 url 来绕过它,然后按需下载列表。或者,您可以将所有这些单个文件保存到某个文件夹并按需一次将它们全部附加在一起,或者使用某个可执行文件来处理它们并让该应用程序附加您的主列表。

标签: java javascript php html google-chrome


【解决方案1】:

我知道如何通过创建 Chrome 扩展程序将 URL 保存到 Chrome 存储中。

您必须创建 ma​​nifest.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);
        }); 
    }
});

关于将扩展加载到浏览器的信息:https://developer.chrome.com/extensions/getstarted#unpacked

【讨论】:

    猜你喜欢
    • 2019-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多