打开新页面时停止重新加载广告?

时间:2017-06-12 13:17:26

标签: javascript google-chrome-extension

大家好,感谢您的阅读,

我的扩展程序

我正在为学校项目制作镀铬扩展程序。它是一个扩展,可以帮助您从互联网上复制内容并将其放在一个文件中。

它是如何工作的:您选择文本,按一个按钮,然后将所选文本添加到您的选择中。您可以在页面上执行此操作几次。选择了所需的所有文本后,按Enter键即可下载。

问题

所以目前,扩展程序正常,但表示您当时正在访问的页面。当您打开新页面或浏览到其他网站时,扩展程序似乎重新加载,因为之前的选择已经消失。假设你有2页。在第1页上,您选择了一些文本并将其添加到您的选择中,现在您转到第2页并选择更多文本并将其添加到您的选择中,然后按Enter键进行下载。下载时,您获得的唯一文本是第2页的文本。

我该怎么办?

守则

function getSelectionText() {
    var text = "";
    if (window.getSelection) {
        text = window.getSelection().toString();
    } else if (document.selection && document.selection.type != "Control") {
        text = document.selection.createRange().text;
    }
    return text;
}

function download(data, filename, type) {
    var file = new Blob([data], {type: type});
    if (window.navigator.msSaveOrOpenBlob) // IE10+
        window.navigator.msSaveOrOpenBlob(file, filename);
    else { // Others
        var a = document.createElement("a"),
                url = URL.createObjectURL(file);
        a.href = url;
        a.download = filename;
        document.body.appendChild(a);
        a.click();
        setTimeout(function() {
            document.body.removeChild(a);
            window.URL.revokeObjectURL(url);
        }, 0);
    }
}

var test = readTextFile("strings.txt");
var inhoud = "";
var raised = false;
var lastUrl = "";


// Hallo meneer Hemert (Als u dit leest);

  document.addEventListener('keypress', (e) => {
    if (e.keyCode == 13) {
      raised = true;
  }
  });

  document.addEventListener('keyup', (e) => {
    if(raised ==true) {
      inhoud += "\n";
      inhoud += "\n";
      inhoud += "Bron: ";
      inhoud += document.URL;
      lastUrl = document.URL;
      download(test, "tekst.rtf");
      raised = false;
    }
  });



  document.addEventListener('keydown', (e) => {
    if (e.keyCode == 18) {
    if (window.getSelection() == "") {
          console.log("prank gaat fout");
    }
    else {

      inhoud += getSelectionText();
      if (document.URL == lastUrl) {
        console.log("hallo");
      } else {

      }
    }
  }
  });

  // Deze functie leest de tekst uit een tekstbestand.
  // Dit is handig zodat de plugin kan werken op elke pagina

function readTextFile(file)
{
    var rawFile = new XMLHttpRequest();
    rawFile.open("GET", file, false);
    rawFile.onreadystatechange = function ()
    {
        if(rawFile.readyState === 4)
        {
            if(rawFile.status === 200 || rawFile.status == 0)
            {
                var allText = rawFile.responseText;
                alert(allText);
            }
        }
    }
    rawFile.send(null);
}

请不要畏缩,我十七岁,学习......

0 个答案:

没有答案