Textarea自动删除6行

时间:2019-07-20 09:17:48

标签: javascript textarea netscape

我发现在线cookie netscape在线转换为json转换器,现在我想用节点js重复它。问题是此转换器上的textarea会以某种方式自动删除无效行。因此,当我将文件粘贴到textarea时,我得到的文件包含180行数据,它变为175行,即使在转换之前,它也以某种方式删除了一些无效行,但是没有函数可以这样做。 (任何网站上的任何textarea都这样做)

当我尝试在Windows 10中以vscode编写代码时,尝试从在线转换器中放入数据-json是有效的,但是当我在本地服务器上编写相同的函数时,输出的对象比在线转换器的输出少比我意识到textarea在其中粘贴数据时直接删除了6行。

我的代码:


let cookiesArr = NetscapeToJson(cookies);
        fs.writeFile(
          "cookies.json",
          JSON.stringify(cookiesArr, null, 4),
          function(err) {
            if (err) throw err;
          }
        );

function NetscapeToJson(text) {
  var arrOfObjects = [];
  var arrayOfLines = text.split("\n");
  for (let i = 0; i < arrayOfLines.length; i++) {
    var kuka = arrayOfLines[i].split("\t");

    if (kuka.length == 7) {
      kuka = kuka.map(function(e) {
        return e.trim();
      });

      var cook = new Object();
      cook.domain = kuka[0];
      cook.expirationDate = parseInt(kuka[4]);

      if (kuka[1] == "FALSE") cook.httpOnly = false;
      if (kuka[1] == "TRUE") cook.httpOnly = true;

      cook.name = String(kuka[5]);
      cook.path = kuka[2];

      if (kuka[3] == "FALSE") cook.secure = false;
      if (kuka[3] == "TRUE") cook.secure = true;

      cook.value = kuka[6];

      arrOfObjects[i] = cook;
    }
  }

  return arrOfObjects;
}

在线转换器代码库.pro / pages / netscapetojson /(非adv):

<div class="info-text1">
<center>Cookies converter: Netscape to JSON</center>

<script>

 window.onload=function(){
   document.getElementById("textarea1").wrap='off';
 }
function NetscapeToJson(){
var textArea2 = document.getElementById("textarea2");
    textArea2.value = '';
    var arrObjects = [];
    var textArea1 = document.getElementById("textarea1");
    var arrayOfLines = textArea1.value.split("\n"); 
    var i = 0;
    for (i=0; i<arrayOfLines.length; i++){
        var kuka = arrayOfLines[i].split("\t"); 
        var cook = new Object();    
            cook.domain = kuka[0];
            cook.expirationDate = parseInt(kuka[4]);

            if (kuka[1] == "FALSE") cook.httpOnly = false;  
            if (kuka[1] == "TRUE") cook.httpOnly = true;  

            cook.name = kuka[5];
            cook.path = kuka[2];

            if (kuka[3] == "FALSE") cook.secure = false;  
            if (kuka[3] == "TRUE") cook.secure = true; 


            cook.value = kuka[6];  


            arrObjects[i] = cook;       
    }

    var cookieStr = JSON.stringify(arrObjects);


    textArea2.value = cookieStr;


    }
</script>
<h3>NETSCAPE: </h3>
<textarea id = "textarea1" wrap="soft" rows="20" style="width: 100%" onclick="this.select()"></textarea>
<br>
<button onclick="NetscapeToJson()" class="sbutton"> Convert >>> </button>

<br>
<br>
<h3>JSON: </h3>
<textarea id = "textarea2" wrap="soft" rows="20" style="width: 100%" onclick="this.select()"></textarea>


输入数据太大,可以根据需要上载txt文件,而要点是,任何textarea都在做同样的事情,并删除了无效行

文件编码ID为UTF-8

0 个答案:

没有答案