第24次修改了可删除可持久保存的前端html备忘录:文本编辑框不再隐藏,又增加了哔哩哔哩搜索和必应搜索

news2024/11/26 1:11:30

第24次修改了可删除可持久保存的前端html备忘录:文本编辑框不再隐藏,又增加了哔哩哔哩搜索和必应搜索.

<!DOCTYPE html>
<html lang="zh">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>与妖为邻备忘录</title>
</head>
<style>
  /* ******制定统一规则 开始 */
  * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    list-style: none;
    user-select: none;
    color: #fffbfb;
    text-shadow: 1px 1px 1px #000;
  }
 input,
  button {
    cursor: pointer;
    border-radius: 5px;
    font-size: 18px;
    border: 1px solid rgb(134, 133, 133);
    color: rgb(252, 223, 4);
    background-color: #ff02029c;
  }
 /* ******制定统一规则 结束 */
  /* **页面背景样式:.body_background 开始*/
  body {
    min-height: 100vh;
    /* background: radial-gradient(at 60% 0%, #3a6073, #1c2522); */
    /* background: linear-gradient(to bottom, #022c05, #000000);  */
    background: #3a6073;
    /* background:  #303745; */
    /* background:  #1c2522; */
    background-size: cover;
    animation: bodybackground 16s infinite;
  }
 /* **页面背景样式:.body_background*****结束 */
  /* 头部标题.header_title 开始 */
  .header_title {
    position: fixed;
    top: 2px;
    left: 2px;
    width: 140px;
    height: 66px;
    border-radius: 50%;
    color: rgb(255, 255, 255);
   /* 图片 img*/
    img {
      float: left;
      width: 66px;
      height: 66px;
      border-radius: 50%;
      transition: transform 0.3s ease;
     &:hover {
        transform: scale(1.1);
      }
    }
   h2 {
      background-color: #f30303;
      border-radius: 50%;
      background-image: linear-gradient(to top left,
          rgba(0, 0, 0, 0.2),
          rgba(0, 0, 0, 0.2) 30%,
          rgba(0, 0, 0, 0));
      box-shadow: inset 4px 4px 4px rgba(255, 255, 255, 0.6),
        inset -4px -4px 5px rgba(0, 0, 0, 0.6);
      border: 0px solid black;
    }
   .my_name {
      letter-spacing: -8px;
    }
  }
 /* 头部标题.header_title 结束 */
  /* **********头部中心.header_center 开始  */
  .header_center {
    height: 66px;
    color: rgb(255, 255, 255);
    text-align: center;
    max-width: 1450px;
    margin: 0 auto;
   .summary {
      position: fixed;
      top: 0;
      left: 10%;
    }
   /* 修改说明.update_summary 开始 */
    .update_summary {
      font-size: 20px;
      font-weight: 700;
      position: relative;
      cursor: pointer;
      right: -700px;
      color: #f40b0b;
   }
   .update_summary:hover+.css_summary_collapse {
      grid-template-rows: 1fr;
    }
   .css_summary_collapse {
      display: grid;
      grid-template-rows: 0fr;
      transition: grid-template-rows 0.3s cubic-bezier(0.34, 0.69, 0.1, 1);
     div {
        background-color: #012705;
        overflow: hidden;
        width: 180px;
        margin: 0 1200px;
        z-index: 9999;
       p {
          position: relative;
          color: #ffffff;
          margin: 0 auto;
        }
      }
    }
   /* 修改说明.update_summary 结束 */
    /* 当前时间 #current_time 开始*/
    #current_time {
      position: fixed;
      color: #ffea00;
      font-size: 30px;
      top: 20px;
      left: 50%;
    }
   /* 当前时间 #current_time 结束*/
    /* 头部导航区.header_nav  开始 */
    .header_nav {
      position: fixed;
      top: 35px;
      left: 15%;
      font-size: 20px;
      border-bottom: 2px solid #f6f4db;
     .header_pagination {
        display: inline-block;
       /* 在第一个分页链接和最后一个分页链接添加圆角:开始 */
        li:first-child a {
          border-top-left-radius: 5px;
          border-bottom-left-radius: 5px;
        }
       li:last-child a {
          border-top-right-radius: 5px;
          border-bottom-right-radius: 5px;
        }
       /* 在第一个分页链接和最后一个分页链接添加圆角:结束 */
        li {
          list-style: none;
          display: inline;
         .home_page {
            background-color: #4CAF50;
            color: white;
            border: 1px solid #4CAF50;
           &:hover {
              background-color: #ddd;
              color: rgb(245, 5, 5);
            }
          }
         a {
            float: left;
            margin: 0 15px;
            text-decoration: none;
            transition: background-color .3s;
            border: 1px solid #ddd;
            color: rgb(252, 232, 130);
           &:hover:not(.home_page) {
              background-color: #ddd;
              font-size: 26px;
              color: rgb(255, 255, 255);
            }
          }
        }
      }
    }
   /* 头部导航区.header_nav  结束 */
    #openButton {
      font-size: 20px;
     &:hover {
        background-color: #4CAF50;
        color: white;
        font-size: 24px;
      }
    }
  }
 /* **********头部中心.header_center 结束  */
  /* 中部编辑文本区 .edit_text和搜索区.memo_search *******************开始 */
  /* ****************编辑文本区 .edit_text 开始 */
  .edit_text {
    position: fixed;
    flex-direction: column;
    box-sizing: border-box;
    top: 70px;
    left: 180px;
    width: 1284px;
    border: 1px solid rgb(134, 133, 133);
   #myForm {
      border: 1px solid rgb(134, 133, 133);
      display: flex;
      flex-direction: column;
      box-sizing: border-box;
      width: 530px;
      border-radius: 10px;
    input[type="file"] {
        margin: 3px;
        height: 30px;
        background-color: #11b711a7;
      }
     textarea {
      z-index: 9999;
        font-size: 20px;
        margin: 3px;
        color: #ffffff;
        text-shadow: 1px 1px 1px #000;
        background-color: #062506b5;
       &::placeholder {
          font-size: 20px;
          color: #ffffff;
        }
      }
     .abb-text,
      input[type="reset"] {
        width: 55px;
        margin: 3px 58px;
      }
    }
   /* 文本操作窗口按钮删除按钮.delete 开始 */
    .delete {
      position: sticky;
      top: 0px;
      background: #f30303;
     &:hover {
        background: #000;
      }
    }
   /* 文本操作窗口按钮删除按钮.delete 结束 */
    /* ****编辑文本区 .edit_text 结束 */
    /* 搜索区.memo_search 开始 */
    .memo_search {
      position: absolute;
      border-radius: 10px;
      top: -2px;
      left: 630px;
     input {
       /* background-color: #11b711a7; */
        &::placeholder {
          font-size: 20px;
          color: #ffffff;
        }
      }
     input[type="text"] {
       background: linear-gradient(to top left, #022c05, #000000);
       font-size: 25px;
        width: 440px;
        border-radius: 5px 0 0 5px;
        margin: 2px 5px;
        border: 0px;
        outline: none;
        cursor: text;
      }
     input[type="button"],
      button {
        position: relative;
        top: -1px;
        left: -8px;
        border: 0px;
        outline: none;
        background-color: #e4ede4b5;
        padding: 2px 0px;
        border-radius: 0 5px 5px 0;
       &:hover {
          background-color: #ff0202;
          color: #ffffff;
        }
      }
    }
   #baidu_list {
      height: auto;
      border: 1px solid #ccc;
      display: none;
      position: absolute;
      top: 130px;
      left: 7px;
    }
   #baidu_search ul li {
      width: 498px;
      height: 30px;
      line-height: 30px;
      text-indent: 10px;
      font-size: 16px;
      list-style: none;
    }
   #baidu_search li a {
      text-decoration: none;
    }
   #baidu_search ul li:hover {
      display: block;
      background: #ccc;
      font-size: 30px;
      color: #fff;
      z-index: 999;
    }
   /* 搜索区.memo_search 结束 */
  }
 /* 中部编辑文本区 .edit_text和搜索区.memo_search *******************结束 */
  /* *****左侧本地连接.local_connection 开始 ***** */
  .local_connection {
    position: fixed;
    top: 75px;
    left: 0;
    width: 170px;
    text-align: center;
   a {
      text-decoration: none;
      margin: 10px 0px;
      color: #ffea07;
      display: flex;
      justify-content: center;
     &:hover {
        color: #ff0303;
        font-size: 22px;
      }
    }
  }
 /* *****左侧本地连接.local_connection 结束 ***** */
  /* ***右侧常用网站 .right_websites开始  */
  .right_websites {
    position: fixed;
    top: 75px;
    right: 0;
    width: 170px;
    text-align: center;
   a {
      text-decoration: none;
      margin: 10px 0px;
      color: #ffea07;
      display: flex;
      justify-content: center;
     &:hover {
        color: #ff0303;
        font-size: 22px;
      }
    }
  }
 /* ***右侧常用网站 .right_websites结束 */
  /* ****底部备忘内容区:.memo_content_area *****开始 */
  .memo_content_area {
    border: 1px solid rgb(134, 133, 133);
    max-width: 1300px;
    margin: 100px 180px;
    font-size: 20px;
   span {
      user-select: text;
      color: #0d7b1c;
     &:hover {
        color: #ffffff;
      }
     sub {
        position: sticky;
        top: 0px;
        color: rgb(252, 181, 181);
        text-shadow: 1px 1px 1px #030303;
        box-shadow:
          inset -2px -2px 3px rgba(255, 255, 255, 0.6),
          inset 2px 2px 3px rgba(0, 0, 0, 0.6);
        margin: 0px 10px;
        user-select: text;
        border-radius: 20px;
      }
    }
   .finish {
      /* text-decoration: underline; */
      /* text-decoration-color: rgb(255, 0, 0); */
      background-color: rgb(191, 210, 255);
      color: rgb(255, 250, 250);
      text-shadow: 1px 1px 1px #030303;
      box-shadow:
        inset -2px -2px 3px rgba(255, 255, 255, 0.6),
        inset 2px 2px 3px rgba(0, 0, 0, 0.6);
    }
   a {
      text-decoration: none;
      color: #ebf704;
    }
  }
 /* ****底部备忘内容区:.memo_content_area *****结束 */
</style>

<body>
  <!-- 左侧本地连接.local_connection 开始 -->
  <div class="local_connection">
    <span>本地连接</span>
    <hr />
    <ul>
      <li><a href="D:\My homepage\本地连接\js生成随机数.html">随机数生成器</a></li>
      <li><a href="D:\My homepage\本地连接\本地连接计算器.html">计算器</a></li>
      <li><a href="D:\My homepage\本地连接\todos备忘录.html">todos备忘录</a></li>
      <!-- <li><a href="D:\My homepage\本地连接\长久保存todos.html" >todos保存</a></li> -->
    </ul>
  </div>
  <!-- 左侧本地连接.local_connection 结束 --------------------------------------------------------------------------------->
  <!-- 右侧常用网站 .right_websites开始-->
  <div class="right_websites">
    <span>常用网站</span>
    <hr />
    <ul>
      <li><a href="https://cn.bing.com/search?q=%E7%BF%BB%E8%AF%91&qs=
        n&form=QBRE&sp=-1&lq=0&sm=csrmain&pq=%E7%BF%BB%E8%AF%91&sc
        =10-2&sk=&cvid=08CF7C75398B4C3C97E7AEC5D3D0921F&ghsh=0&ghacc=0&ghpl=" title="在线翻译" class=""
          target="_blank">在线翻译</a></li>
      <li><a
          href="https://act.mihoyo.com/ys/app/interactive-map/index.html?bbs_presentation_style=no_header&lang=zh-cn&utm_source=bbs&utm_medium=mys&utm_campaign=pcicon&_markerFps=24#/map/2?shown_types=NaN,-1084,508,2&center=2008.50,-1084.00&zoom=-3.00"
          title="原神大地图" class="" target="_blank">原神大地图</a></li>
      <li><a href="https://www.bilibili.com/" title="bilibili" class="" target="_blank">哔哩哔哩</a></li>
      <li><a href="https://www.dedexuexi.com/" target="_blank"> 建站学习网 </a></li>
      <li><a href="https://www.runoob.com/" title=" 菜鸟教程" class="" target="_blank">菜鸟教程</a></li>
      <li><a href="https://developer.mozilla.org/zh-CN/" title="MDN网络文档" class="" target="_blank">MDN网络文档</a></li>
      </li>
      <li><a href="https://cn.vuejs.org/" target="_blank"> JavaScript 框架vue </a></li>
      <li><a href="https://www.w3ccoo.com/" target="_blank"> w3schools 教程 </a></li>
      <li><a href="https://zh.javascript.info/" target="_blank"> 现代 JavaScript 教程 </a></li>
      <li><a href="https://www.dedexuexi.com/tool/3D/" target="_blank"></a></li>
      <li><a href="https://element-plus.org/zh-CN/" target="_blank">Vue3组件库</a></li>
      <li><a href="https://blog.csdn.net/lulei5153?spm=1011.2415.3001.5343" title="与妖为邻CSDN博客" class=""
          target="_blank">与妖为邻的CSDN博客</a>
    </ul>
  </div>
  <!-- 右侧常用网站 .right_websites结束---------------------------------------------------------------------------------------->
  <!-- -------头部标题.header_title 开始 -->
  <div class="header_title">
    <img src="file:///D:\My homepage\img\jpg\tuzi3.jpg" alt="与妖为邻">
    <h2 class="my_name">与妖为邻</h2>
    <h2 class="memo">备忘录</h2>
  </div>
  <!-- 头部中心.header_center 开始 --修改说明.summary 开始 -->
  <div class="header_center">
    <!-- 修改说明.summary 开始-->
    <div class="summary">浏览器主页,整理本地资源!备忘日常生活、各类教程、网页素材! key=todotext
    </div> <span class="update_summary">第24次(0.4.0)更新</span>
    <div class="css_summary_collapse">
      <div class="update_notes">
        <p>第24次(0.4.0)更新:文本编辑框不再隐藏,又增加了哔哩哔哩搜索和必应搜索。</p>
      </div>
    </div>
    <!-- 修改说明.summary 结束-->
    <div id="current_time">当前时间</div>
    <div class="header_nav">
      <ul class="header_pagination">
        <li><a href="file:///C:\Users\90917\Desktop\备忘录.html" class="home_page">首页</a></li>
        <li><a href="D:\My homepage\本地连接\mylogs原生备忘录.html">日志</a></li>
        <li><a href="D:\My homepage\img">相册</a></li>
        <li><a href="#">更多</a></li>
        <li><a href="D:\My homepage\本地连接\html5代码账号密码备忘录样本.html">联系我</a></li>
      </ul>
      <button id="openButton">打开本地文件</button>
    </div>
  </div>
  <!--  头部中心 .header_center 结束-->
  <!-- 中部编辑文本区 .edit_text和搜索区.memo_search -----开始 -->
  <div class="edit_text ">
    <form id="myForm">
      <input type="file" name="inputfile" accept="text/plain, text/css, text/html, text/javascript, text/markdown"
        class="background3D" />
      <textarea class="up-textarea" name="uptextarea" rows="1" cols="30%"
        placeholder="选择本地txt、js、css或html文件,文件内容会被自动读取"></textarea>
      <div>
        <button type="text" class="abb-text">添加</button>
        <input type="reset" value="重置">
        <button id="delete" class="delete">对选择进行删除</button>
      </div>
    </form>
    <!-- 搜索区.memo_search 开始-->
    <div class="memo_search">
      <div id="bilibili_search">
        <form onsubmit="return bilibili_text()">
          <input type="text" class="bilibili_text" placeholder="哔哩哔哩" autocomplete="off" autofocus>
          <!-- <input type="button" name="btn" id="bilibili_btn" value="哔哩哔哩" onclick="return search" /> -->
          <button onclick="return search">
            哔哩哔哩
         </button>
        </form>
        <!-- <ul id=""></ul> -->
        <div id="bing_search">
          <form onsubmit="return bing_text()">
            <input type="text" class="bing_text" placeholder="必应搜索">
            <button onclick="return search">
              必应搜索
            </button>
          </form>
          <!-- <ul id=""></ul> -->
        </div>
        <div id="baidu_search">
          <p>
            <input type="text" id="baidu_text" placeholder="百度一下,你就知道">
            <input type="button" name="btn" id="baidu_btn" value="百度一下" />
          </p>
          <ul id="baidu_list"></ul>
        </div>
      </div>
    </div>
    <!-- 搜索区.memo_search 结束-->
  </div>
  <!-- 中部编辑文本区 .edit_text和搜索区.memo_search -----结束 -->
  <!-- ------------备忘内容区:.memo_content_area *****开始 ----------------------------------------------->
  <div class="memo_content_area" id="memo">
  </div>
  <!-- ------------备忘内容区:.memo_content_area *****结束 ------------------------------------------------>
 </div>
</body>
<script>
  /* *********当前时间*current_time********************************************************* */
  var current_time = document.getElementById("current_time");
  function showTime(time) {
    var now = new Date();
    var year = now.getFullYear();
    var month = now.getMonth();
    var day = now.getDate();
    var hour = now.getHours();
    var minu = now.getMinutes();
    var second = now.getSeconds();
    month = month + 1;
    var arr_work = new Array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六");
    var week = arr_work[now.getDay()];
    month = month < 10 ? "0" + month : month;//时间月份个位补0
    day = day < 10 ? "0" + day : day;
    hour = hour < 10 ? "0" + hour : hour;
    minu = minu < 10 ? "0" + minu : minu;
    second = second < 10 ? "0" + second : second;
    var time = year + "年" + month + "月" + day + "日 " + week + " " + hour + ":" + minu + ":" + second;
    current_time.innerHTML = time;
  }
  window.setInterval("showTime(current_time)", 1000);
  /* *********************当前时间.current_time 结束***************************************************** */
  /****提示弹窗无需点击的函数*****开始*****************************************/
  function displayAlert(type, data, time) {
    var prompt = document.createElement("div");
    if (type == "success") {
      prompt.style.width = "200px";
      prompt.style.backgroundColor = "#009900";
    } else if (type == "error") {
      prompt.style.width = "280px";
      prompt.style.backgroundColor = "#990000";
    } else if (type == "info") {
      prompt.style.backgroundColor = " #e6b800";
      prompt.style.width = "600px";
    } else {
      return;
    }
    prompt.id = "prompt";
    prompt.style.textAlign = "center";
    prompt.style.position = "fixed";
    prompt.style.height = "60px";
    prompt.style.marginLeft = "-100px";
    prompt.style.marginTop = "-30px";
    prompt.style.left = "30%";
    prompt.style.top = "30%";
    prompt.style.color = "white";
    prompt.style.fontSize = "25px";
    prompt.style.borderRadius = "20px";
    prompt.style.textAlign = "center";
    prompt.style.lineHeight = "60px";
    if (document.getElementById("") == null) {
      document.body.appendChild(prompt);
      prompt.innerHTML = data;
      setTimeout(function () {
        document.body.removeChild(prompt);
      }, time);
    }
  }
  /****提示弹窗无需点击的函数*****结束*****************************************/
  /*中部 哔哩哔哩#bilibili_search *******************开始 */
  function bilibili_text() {
    if (document.querySelector(".bilibili_text").value != "") {
      window.location.href = "https://search.bilibili.com/all?keyword=" + document.querySelector(".bilibili_text").value;
      document.querySelector(".bilibili_text").value = "";
    }
    return false;
  }
  /*中部 哔哩哔哩#bilibili_search *******************结束 */
  /*中部必应搜索:#bing_search *******************开始 */
  function bing_text() {
    if (document.querySelector(".bing_text").value != "") {
      window.location.href = "https://cn.bing.com/search?q=" + document.querySelector(".bing_text").value;
      document.querySelector(".bing_text").value = "";
    }
    return false;
  }
  /*中部必应搜索:#bing_search *******************结束 */
  /* 中部百度搜索:#baidu_search *******************开始 */
  var txt = document.getElementById("baidu_text");
  var oUl = document.getElementById("baidu_list");
  var oBtn = document.getElementById("baidu_btn");
  txt.onkeyup = function () {
    oUl.innerHTML = "";
    var val = txt.value;
    var oScript = document.createElement("script");//动态创建script标签  
    oScript.src = "https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=" + val + "&cb=callback";
    //添加链接及回调函数  
    document.body.appendChild(oScript);//添加script标签  
    document.body.removeChild(oScript);//删除script标签  
  }
  //回调函数  
  function callback(data) {
    data.s.forEach(function (value) {
      var oLi = document.createElement("li");
      oLi.innerHTML = "<a href=\"https://www.baidu.com/s?wd=" + value + "\">" + value + "</a>";
      oUl.appendChild(oLi);
    })
    oUl.style.display = "block";
  }
  //点击跳转到百度页面,并搜索其中内容
  oBtn.onclick = function () {
    var val = txt.value;
    location.href = "http://www.baidu.com.cn/s?wd=" + val + "&cl=3";
  }
  /* 中部百度搜索区:#baidu_search *******************结束 */
  /* 
/***********************备忘内容区:.memo_content_area *****开始*******************************/
  var uptext = document.querySelector(".up-textarea");
  var addto = document.querySelector(".abb-text");
  var text = document.querySelector(".memo_content_area");
  /*************添加事件*****************/
  addto.onclick = function () {
    inserhtml(uptext.value, '');
    // 添加后清空输入框
    uptext.value = '';
    // 焦点放回输入框
    uptext.focus();
    savetodo();
  }
  /*************savetodo函数****************/
  var savetodo = function () {
    let todoarr = [];
    let todojs = {};
    var econtent = document.querySelectorAll('.JS_content');
    for (let index = 0; index < econtent.length; index++) {
      todojs.name = econtent[index].innerHTML;
      todojs.finish = econtent[index].classList.contains('finish');
      todoarr.push(todojs);
      todojs = {};
    }
    save(todoarr);
  }
  var loadtodo = function () {
    let todoarr = load();
    for (let index = 0; index < todoarr.length; index++) {
      inserhtml(todoarr[index].name, todoarr[index].finish ? 'finish' : '');
    }
  }
  /*********本地持久储存(localStorage)函数*****************************/
  var save = function (arr) {
    /**JSON.stringify(arr) 先将数组转换为字符串     *localStorage.todotext 然后将字符串保存到本地的todotext中*/
    localStorage.todotext = JSON.stringify(arr);
  }
  /**
   *读取函数,把todotext转成数组
   *然后返回数组*/
  var load = function (arr) {
    var arr = JSON.parse(localStorage.todotext);
    return arr;
  }
  /**********************finish样式函数*****************************/
  /**********************按钮点击事件*****************************/
  text.onclick = function () {
    var tg = event.target;
    // 获取父元素下的所有子元素
    var tgkids = tg.parentElement.children;
    /*******************************对复选框的点击事件******************************/
    if (tgkids[0].checked) {
      tgkids[1].classList.add("finish");
    }
    else {
      tgkids[1].classList.remove("finish");
    }
    // 保存更改的样式
    savetodo();
    /***********************对选择的进行删除********************************************/
    var Select = document.getElementById("delete");
    Select.onclick = function () {
      if (confirm("是否删除所选?")) {
        var check = document.getElementsByName("checkbox");
        for (var i = 0; i < check.length; i++) {
          if (check[i].checked) {
            check[i].parentElement.remove();
            i--;
            // 删除后保存
            savetodo();
          }
        }
      }
    }
  }
  var inserhtml = function (val, cls) {
    text.insertAdjacentHTML("beforeend",
      `<div>
            <input type="checkbox" name='checkbox'>                        
            <span  class='JS_content ${cls}'>${val}</span>       </div>`
    )
  }
  loadtodo();
  /**************************打开URL按钮的JavaScript******************************************/
  // 获取打开URL按钮元素
  var openBtn = document.getElementById("openButton");
  // 添加点击事件处理程序
  openBtn.addEventListener('click', function () {
    // 获取文件路径
    // 这里假设您已经有一个函数来获取文件路径,例如 prompt('请输入文件路径', 'D:/前端学习', '_blank');
    var filePath = prompt("请输入网站地址或者本地文件路径", "D:\My homepage");
    if (filePath) {
      // 使用window.location对象的assign()方法导航到指定文件
      // window.location.assign(filePath);
      // 或者使用window.open()方法打开新窗口导航到指定文件
      window.open(filePath);
    } else {
      displayAlert('info', '未提供有效的文件路径!', 1500);
      // alert("未提供有效的文件路径!");
    }
  });
  /**************************本地文件读取的函数******************************************/
  window.onload = function () {
    var text = document.getElementsByName('uptextarea')[0],
      inputFile = document.getElementsByName('inputfile')[0];
    //上传文件
    inputFile.onchange = function () {
      console.log(this.files);
      var reader = new FileReader();
      reader.readAsText(this.files[0], 'UTF-8');
      reader.onload = function (e) {
        // urlData就是对应的文件内容
        var urlData = this.result;
        text.value = urlData;
      };
    };
  };
  /**************************复制文本******************************************/
  var oContent = document.getElementById('memo');
  oContent.ondragend = function () {
    document.execCommand("Copy");
    // alert("复制成功")
    displayAlert('error', '复制成功!', 1500);
  };
</script>

</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1587568.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ETL工具-nifi干货系列 第九讲 处理器EvaluateJsonPath,根据JsonPath提取字段

1、其实这一节课本来按照计划一起学习RouteOnAttribute处理器&#xff08;相当于java中的ifelse&#xff0c;switch case 控制语句&#xff09;&#xff0c;但是在学习的过程中遇到了一些问题。RouteOnAttribute 需要依赖处理器EvaluateJsonPath&#xff0c;所以本节课我们一起…

ESP8266开发

1esp8266Wifi连接,通过手机控制点灯 1.下载Arduino,编程 2.下载blinker手机APP。 3.下载blinker库。https://arduino.me/s/blinker-arduino?aid=711 4.打开编程工具 Arduino,加载blinker库 5. 打开库里面的例程,基于例程开发。 blinker-library-0.3.10230510\blinker-…

JavaSE——常用API进阶二(2/8)-BigDecimal(BigDecimal的常见构造器、常用方法,用法示例,使用规范)

目录 BigDecimal BigDecimal的常见构造器、常用方法 用法示例 使用规范 在进行浮点型运算时&#xff0c;直接使用“ - * / ”可能会出现运算结果失真&#xff0c;例如&#xff1a; System.out.println(0.1 0.2); System.out.println(1.0 - 0.32); System.out.println(1.…

【Ubuntu】 Github Readme导入GIF

1.工具安装 我们使用 ffmpeg 软件来完成转换工作1.1 安装命令 sudo add-apt-repository ppa:jonathonf/ffmpeg-3sudo apt-get updatesudo apt-get install ffmpeg1.2 转换命令 &#xff08;1&#xff09;直接转换命令&#xff1a; ffmpeg -i out.mp4 out.gif(2) 带参数命令&…

哨兵-1A与DInSAR技术监测尼泊尔地震前后地表形变

2015年4月25号&#xff0c;尼泊尔发生里氏7.8级地震&#xff0c;超过5000人伤亡和几百万人受到影响。大量的卫星影像支持地震救援。地理学家利用卫星影像量测地震对陆地的影响。 Sentinel-1A是欧洲委员会发起的哥白尼环境监测计划中的第一颗卫星。可获取全天候的数据&#xff0…

大模型+交通治理,高德地图“评诊治”系统迎来全新升级

近日&#xff0c;由中国道路交通安全协会主办的第十四届中国国际道路交通安全产品博览会暨公安交警警用装备展(以下简称交博会)在厦门国际会展中心开幕&#xff0c;会上高德地图发布了全新升级的城市交通“评诊治”智能决策SaaS系统&#xff0c;以助力城市交通的可持续、精细化…

水利自动化控制系统平台介绍

水利自动化控制系统平台介绍 在当今社会&#xff0c;水资源的管理和保护日益成为全球关注的重要议题。随着科技的进步和信息化的发展&#xff0c;水利监测系统作为一种集成了现代信息技术、自动化控制技术以及环境监测技术的综合性平台&#xff0c;正在逐步改变传统的水利管理模…

Oracle 常用命令总结

文章目录 一、数据库启动 & 关闭&查看1、启动数据库2、关闭数据库3、连接数据库4、查看数据库名5、查看实例 二、用户1、创建用户2、重置密码3、账户解锁4、账号赋权5、账户撤销权限6、删除用户7、查询所有用户&#xff08;DBA账号执行&#xff09;8、查看当前用户连接…

卫星影像联合无人机实现农业保险全生命周期监管监测

随着科技的进步&#xff0c;农业保险监管系统的发展日新月异。特别是近年来&#xff0c;随着卫星技术与无人机技术的结合&#xff0c;为农业保险监管系统带来了前所未有的革新。本文将深入探讨如何利用卫星与无人机方案构建高效的农业保险监管系统&#xff0c;并结合实例进行说…

面试经典算法系列之二叉树3 -- 二叉树的层序遍历

面试经典算法18 - 二叉树的层序遍历 LeetCode.102 公众号&#xff1a;阿Q技术站 问题描述 给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 示例 1&#xff1a; 输入&#xff1a;roo…

虚拟机中,IP地址查询失败怎么办

有时候ifconfig查出来的地址是下面这样&#xff0c;只有ipv6 只需要运行下面这两条命令&#xff0c;再次查询即可成功&#xff01; systemctl stop NetworkManagersystemctl start network.service

Python如何安装第三方模块

cmd窗口中使用pip install命令安装 1、键盘按下win R&#xff0c;然后在输入框中输入cmd&#xff0c;回车&#xff0c;就打开了cmd窗口。 下图的运行框会出现到屏幕左下角。 2、输入下面的命令&#xff0c;回车即可。 pip install xxx # xxx为要安装的模块名 如图所示&…

RabbitMQ消息模型之Simple消息模型

simple消息模型 生产者 package com.example.demo02.mq.simple;import com.example.demo02.mq.util.ConnectionUtils; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection;import java.io.IOException;/*** author Allen* 4/10/2024 8:07 PM* versi…

【论文阅读笔记】Head-Free Lightweight Semantic Segmentation with Linear Transformer

莫名地这篇论文我特别难理解&#xff0c;配合代码也食用不了 1.论文介绍 Head-Free Lightweight Semantic Segmentation with Linear Transformer 基于线性Transformer的无头轻量级语义分割 2023年 AAAI Paper Code 2.摘要 现有的语义分割工作主要集中在设计有效的解码器&am…

MATLAB GUI图形化界面设计计算器

MATLAB GUI界面设计教程可以帮助用户创建交互式的图形用户界面&#xff0c;以简化与MATLAB程序的交互过程。以下是一个简化的教程&#xff0c;指导你如何进行MATLAB GUI界面设计&#xff1a; 1. 启动GUIDE或App Designer GUIDE&#xff1a;在MATLAB命令窗口中输入guide命令&a…

锐化空间滤波器--二阶微分图像增强(提高清晰度的另一种方式)

书上一阶微分的定义可以理解&#xff0c;毕竟这里不死数学上的曲线的概念&#xff0c;而是像素点上的曲线。所以&#xff0c;不同于数学的严格单调递增曲线的导数是大于等于零&#xff0c;这里的严格单调递增曲线&#xff0c;只能是大于零。 至于二阶微分的定义&#xff0c;就…

Scala实战:打印九九表

本次实战的目标是使用不同的方法实现打印九九表的功能。我们将通过四种不同的方法来实现这个目标&#xff0c;并在day02子包中创建相应的对象。 方法一&#xff1a;双重循环 我们将使用双重循环来实现九九表的打印。在NineNineTable01对象中&#xff0c;我们使用两个嵌套的fo…

如何使用pgvector为RDS PostgreSQL构建专属ChatBot?

背景 越来越多的企业和个人希望能够利用LLM和生成式人工智能来构建专注于其特定领域的具备AI能力的产品。目前&#xff0c;大语言模型在处理通用问题方面表现较好&#xff0c;但由于训练语料和大模型的生成限制&#xff0c;对于专业知识和时效性方面存在一些局限。在信息时代&…

Day37:LeedCode 738.单调递增的数字 968.监控二叉树 蓝桥杯 翻转

738. 单调递增的数字 当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时&#xff0c;我们称这个整数是单调递增的。 给定一个整数 n &#xff0c;返回 小于或等于 n 的最大数字&#xff0c;且数字呈 单调递增 。 示例 1: 输入: n 10 输出: 9 思路: 假设这个数是98,…

三次 Bspline(B样条曲线) NURBS曲线的绘制 matlab

先来了解几个概念&#xff1a; 1.1 节点向量&#xff1a; B-Spline需要定义曲线的节点向量U&#xff0c;它可以对应到Bezier曲线的参数u。 其元素个数 (m1) 和曲线阶数 k 、控制点个数n满足&#xff1a;m1k1n1 如果U的每段的距离是相等&#xff0c;那么这个B-Spline就被称为均…