纯前端JS实现文件上传解析渲染页面

在这里插入图片描述
AI真的能代替前端吗?

回答:不会完全代替

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

能用吗?复制到项目中只会报错  爆红  ……他完全不能理解你需要什么

在这里插入图片描述

JavaScript(简称JS)是一种轻量级的脚本语言,主要用于在Web页面上添加交互行为。它由三个不同的部分组成:ECMAScript,DOM和BOM。

ECMAScript是JavaScript的核心,它是一个由ECMA国际组织标准化的语言规范,定义了JavaScript的语法和基本对象,例如数组、函数、对象、字符串等。

DOM(文档对象模型)是一种基于对象的API,它允许JavaScript在HTML文档中动态地访问和操作HTML元素和文本。JavaScript可以使用DOM API来创建、添加、删除和修改HTML元素和属性,以及响应用户操作。

BOM(浏览器对象模型)提供了与浏览器交互的API,它包括了诸如窗口、屏幕、历史记录等对象。JavaScript可以使用BOM API来控制浏览器的行为,例如导航到新的URL、弹出警告框、设置Cookie等。

JavaScript是一种解释型语言,它不需要编译就可以直接在浏览器上执行。它还支持面向对象编程和函数式编程。JavaScript的语法类似于C语言,但是它也具有动态类型和弱类型的特性。

那么好 今天的主题来了 作者给你手写一个小案例给大家科普一下知识。

如果手写一个解析文件的工具

AI只会告诉你思路 他不会帮你写 如果运用掌握AI大脑 请您看上篇文章

AI帮你写代码

在这里插入图片描述
多啦不说上代码哈哈哈
在这里插入图片描述
一个龟派气功代码就给你写好 复制即可使用 大文件上传内容解析到页面上

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

<head>
  <meta charset="UTF-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>前端根据目录解析word,拆分不同段落</title>
  <script src="https://cdn.bootcss.com/mammoth/1.4.8/mammoth.browser.js"></script>
</head>

<body>
  <div class="container">
    <!-- 获取word段落文字 -->
    <button id="btn">获取txt</button>
    <!-- 上传 -->
    <input id="inp" type="file" />
    <!-- 展示word -->
    <div id="output"></div>
  </div>

  <script>
    const btn = document.querySelector("#btn");
    const inp = document.querySelector("#inp");
    const output = document.querySelector("#output");
    let html;

    btn.addEventListener("click", handleClick);
    inp.addEventListener("change", handleChange);

    function handleClick() {
      const arr = html?.split(/<h[1-6]>/g)?.slice(1);
      arr?.forEach((item) => {
        const [title, content] = item?.split("</h");
        const strippedTitle = title?.replace(/<[^>]+>/g, "");
        const strippedContent = content?.replace(/1>|<[^>]+>/g, "");
        const paragraph = `<div><strong>标题:</strong> ${strippedTitle}</div><div><strong>段落:</strong> ${strippedContent}</div>`;
        /* 
        insertAdjacentHTML()方法可以将指定的HTML字符串插入到指定元素的相对位置。具体参数含义如下:
        第一个参数:表示插入位置,共有四个值可选:
            'beforebegin':在当前元素之前插入。
            'afterbegin':在当前元素内部的第一个子元素之前插入。
            'beforeend':在当前元素内部的最后一个子元素之后插入。
            'afterend':在当前元素之后插入。
        第二个参数:表示要插入的HTML字符串。
        以下代码中,output.insertAdjacentHTML("beforeend", paragraph)
        表示将paragraph这段HTML字符串插入到output元素内部的最后一个子元素之后的位置。
        */
        output.insertAdjacentHTML("beforeend", paragraph);
        // 使用 innerHTML 属性的时候要非常小心,因为它会覆盖整个元素的 HTML 内容,包括已有的子元素和绑定的事件处理程序等。
        // 如果不小心操作,可能会导致意外的结果或安全问题。因此,建议使用 insertAdjacentHTML() 或其他更安全的方法来操作 DOM 元素。
        // output.innerHTML += paragraph;

        window.scrollTo({
          top: document.body.scrollHeight,
          behavior: "smooth",
        });
      });
    }

    function handleChange(event) {
      const file = event.target.files[0];
      const reader = new FileReader();
      reader.onload = handleLoad;
      reader.readAsArrayBuffer(file);
    }

    function handleLoad(loadEvent) {
      const arrayBuffer = loadEvent.target.result; // arrayBuffer
      mammoth.convertToHtml({ arrayBuffer }).then(handleConversion);
    }

    function handleConversion(result) {
      html = result.value;
      console.log(html);
      const newHTML = html.replace(
        /<(table|tr|td)>/g,
        '<$1 style="border-collapse: collapse; border: 1px solid rgb(204, 204, 204); padding: 8px 15px; color:#555555;">'
      );
      output.innerHTML = newHTML;
    }
  </script>
</body>

</html>

在这里插入图片描述
文件类型 名称 标题 章节 统统给你展示出来!
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

项目环境配置、不知晓问题自己搜索后得到的解答

目录 Anolis OS龙蜥操作系统 Kernel Selection 4.18.0(RHCK) Compatible with RHEL (kernel-4.18.0) 4.19.91(ANCK) Support Anolis OS verified platform (kernel-4.19.91) 这两个内核选择哪个比较好呢&#xff1f; 我的C盘有些满&#xff0c;我该如何删除一些我需要的东西…

家用洗地机哪个好用?家用洗地机分享

洗地机是一种代表现代化清洁的设备&#xff0c;它具有高效、环保、经济、智能等多种特点。洗地机可以为您提供先进的清洁技术和设备&#xff0c;为您的清洁工作提供有力的支持。洗地机可以适应不同场所和建筑物的需求&#xff0c;提高工作效率和卫生形象。因此&#xff0c;选择…

logstash介绍和使用-ELK文章2

官方 Logstash 是免费且开放的服务器端数据处理管道&#xff0c;能够从多个来源采集数据&#xff0c;转换数据&#xff0c;然后将数据发送到您最喜欢的“存储库”中。 下载和文档&#xff1a;https://www.elastic.co/cn/logstash/ docker部署&#xff1a;https://hub.docker.…

Linux中信号的基础知识

信号的概念 Linux操作系统中&#xff0c;信号是一种进程间通信&#xff08;Inter-Process Communication, IPC&#xff09;机制&#xff0c;用于向其他进程发送通知或指示&#xff0c;通常是为了通知特定事件的发生&#xff0c;如程序终止、用户按下特定按键等。信号提供了一种…

在字节跳动做了6年软件测试,4月无情被辞,想给划水的兄弟提个醒

先简单交代一下背景吧&#xff0c;某不知名 985 的本硕&#xff0c;17 年毕业加入字节&#xff0c;以“人员优化”的名义无情被裁员&#xff0c;之后跳槽到了有赞&#xff0c;一直从事软件测试的工作。之前没有实习经历&#xff0c;算是6年的工作经验吧。 这6年之间完成了一次…

浅谈springboot启动过程

1. 知识回顾 为了后文方便&#xff0c;我们先来回顾一下spring的一些核心概念。 spring最核心的功能无非是ioc容器&#xff0c;这个容器里管理着各种bean。ioc容器反映在java类上就是spring的核心类ApplicationContext。ApplicationContext有众多的子接口和子类&#xff0c;不…

文旅数字人出圈不断,文旅数字人宣传片制作赋能数字文旅新业态

在文旅产业发展中 数字人的应用越来越广泛 文旅借助数字人浪潮 把传统文化与科技相融合 以Z世代年轻群体所喜爱的方式 推动文旅数字化发展 文旅数字人应用场景——数字人文旅宣传片 可以让数字人作为文旅宣传片主角&#xff0c;串联当地代表性的历史文化地标、现代都市场景…

sensor的感光原理

文章内容来自网络&#xff0c;联系我可以删掉。 目录 CMOS sensor上有什么&#xff1f; 不同像素对应的图像质量&#xff1a; 像点感光原理&#xff1a; Bayer格式变换成RGB格式&#xff1a; CMOS sensor上有什么&#xff1f; CMOS sensor 通常由像敏单元阵列、行驱动器、…

第10章:数据处理增删改

一、插入数据 CREATE TABLE emp1 (id int(11) ,name varchar(15) ,hire_date date ,salary double(10,2) )1.添加一条数据 ①没有指明添加的字段&#xff0c;一定按照顺序添加 insert into emp1 values(1,wang,2000-4-4,5900)②指明添加的字段&#xff08;推荐&#xff09;…

【CSS3】CSS3 属性选择器 ( CSS3 简介 | 属性选择器 | 属性选择器权重 )

文章目录 一、CSS3 简介二、CSS3 属性选择器权重三、CSS3 属性选择器 一、CSS3 简介 CSS3 是在 CSS2 基础上进行扩展后的样式 ; 在 移动端 对 CSS3 的支持 要比 PC 端支持的更好 , 建议在移动端开发时 , 多使用 CSS3 ; PC 端老版本浏览器不支持 CSS3 , 尤其是 IE 9 及以下的版…

Qt5.9学习笔记-事件(五) 事件调试和排查

⭐️我叫忆_恒心&#xff0c;一名喜欢书写博客的在读研究生&#x1f468;‍&#x1f393;。 如果觉得本文能帮到您&#xff0c;麻烦点个赞&#x1f44d;呗&#xff01; 近期会不断在专栏里进行更新讲解博客~~~ 有什么问题的小伙伴 欢迎留言提问欧&#xff0c;喜欢的小伙伴给个三…

【超详细】【YOLOV8使用说明】一套框架解决CV的5大任务:目标检测、分割、姿势估计、跟踪和分类任务【含源码】

目录 1.简介2.环境安装2.1安装torch相关库2.2 获取yolov8最新版本&#xff0c;并安装依赖 3. 如何使用模型用于各种CV任务3.1 目标检测任务实现检测图片代码检测视频代码 3.2 分割任务实现分割图片代码分割视频代码 3.3 追踪任务3.4 姿态检测任务姿态检测&#xff08;图片&…

数据结构之“树”——二叉树、红黑树、B树、B+树、B*树

这篇文章主要简单总结下二叉树、红黑树、B树、B树、B*树的基本结构和原理。 一、二叉树 二叉树就是度不超过2的树(每个结点最多有两个子结点)。 二叉树是有序树&#xff08;二叉排序树&#xff09;&#xff0c;若将其左右子树颠倒&#xff0c;则成为另一棵不同的二叉树。 二叉…

php+vue+mysql医院医护人员医生排班系统

本医护人员排班系统管理员&#xff0c;医护。管理员功能有个人中心&#xff0c;医院信息管理&#xff0c;医护信息管理&#xff0c;医护类型管理&#xff0c;排班信息管理&#xff0c;排班类型管理&#xff0c;科室信息管理&#xff0c;投诉信息管理。医护人员可以修改自己的个…

「二线豪华」或成历史,理想反超沃尔沃再树「里程碑」

今年的上海车展&#xff0c;除了占据C位的新能源汽车&#xff0c;还有传统车企。 上海车展开幕前&#xff0c;沃尔沃汽车大中华区销售公司总裁钦培吉在新车发布会上直言&#xff1a;“新势力会的&#xff0c;我们三年就学会了&#xff1b;我们会的&#xff0c;新势力十年都学不…

Android安装apk出现 “安装包无效”或“安装包不兼容”的解决方案

Android 安装apk出现“安装包无效”或“安装包不兼容”解决方案 1. 问题出现2. 配置 build.gradle3. 生成Signed APK 1. 问题出现 使用Android Studio安装apk到手机一切正常&#xff0c;但是分享出去出现安装apk出现“安装包无效”或“安装包不兼容”问题 这种情况需要我们设…

4 IK分词器

4 IK分词器 4.1测试分词器 在添加文档时会进行分词&#xff0c;索引中存放的就是一个一个的词&#xff08;term&#xff09;&#xff0c;当你去搜索时就是拿关键字去匹配词&#xff0c;最终 找到词关联的文档。 测试当前索引库使用的分词器&#xff1a; post 发送&#xff…

【分布式理论】聊一下 ACID、BASE、CAP、FLP

分布式理论基础 今天我们来聊一下分布式相关基础理论基础&#xff0c;上一篇文章中&#xff0c;我描述了一下分布式系统的纲&#xff0c;但是想要入手学习分布式系统设计&#xff0c;其实需要先从基本理论开始。而知名的ACID、BASE、CAP、FLP都是相关的理论基础。 ACID ACID…

六、FM1288调试方案-调试过程及细节

本篇文章,主要讲述实际调试操作:具体到需要调节哪些寄存器,调节完后,会有什么样的变化。但是整体效果不能达到我们期望的绝对感觉,所以我先把我们调试的结果放在前面,如果觉得不理想,也可以不看后面的内容了。 文章目录 1. 调试准备1.1 建立与FM1288芯片通信1.2 Uart结…

什么是多相流?在熟悉工业中常见的两相及多相流的分类及特点

文章目录 一、多相流的概览1.相的概念 二、多相流的引入单相流与多相流&#xff1a; 三、多相流及特性介绍四、常见的多相流的分类及特点1、常见的两相及多相流3、两相流动力学的发展简史4、两相流的研究方法和理论模型 一、多相流的概览 1.相的概念 物理学: 自然界中物质的态…