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

news2024/11/20 15:29:46

在这里插入图片描述
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>

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

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

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

相关文章

5月跳槽有风险,不跳也有?

今天讲讲跳槽。 说实话跳槽是为了寻求更好的发展&#xff0c;但在跳槽前我们也不能确定下家就是更好的归宿&#xff0c;这就更加需要我们审慎地去对待&#xff0c;不能盲目跳槽。 其次&#xff0c;我们离职和跳槽&#xff0c;其中的原因很大一部分是目前薪资不符合预期。 那…

基于python+opencv的人脸识别打卡(手把手教你)

基于pythonopencv的人脸识别打卡 1 创建环境2 准备工作2.1新建members.csv文件2.2新建face文件夹2.3注意事项 3 源码4 操作步骤 1 创建环境 conda create -n face python3.7 conda activate face pip install opencv-python pip install pillow pip install opencv-contrib-py…

基于Redis中zset实现延时任务

目录 概要 一、实现原理 适用场景 二、准备工作 三、代码实现 四、zset的优缺点 优点 缺点 概要 本文章主要记录的是使用Redis中的zset实现延时任务&#xff0c;在工作中&#xff0c;像这样的的延时任务是不可避免的&#xff0c;举个栗子&#xff1a;买一张火车票&#…

企业如何利用网络趋势做好线上营销?

随着互联网的不断发展&#xff0c;线上营销越来越成为企业营销的重要组成部分。如何利用网络趋势做好线上营销&#xff0c;已经成为各大企业关注的焦点。本文将为大家介绍如何利用网络趋势做好线上营销的方法和技巧。 一、了解网络趋势 了解网络趋势是做好线上营销的关键。网络…

uboot移植Linux-SD驱动代码解析

一、uboot与linux驱动 1.1、uboot本身是裸机程序 (1)狭义的驱动概念是指&#xff1a;操作系统中用来具体操控硬件的代码叫驱动 广义的驱动概念是指&#xff1a;凡是操控硬件的代码都叫驱动 (2)裸机程序中是直接使用寄存器的物理地址来操控硬件的&#xff0c;操作系统中必须通…

最新版千帆直播网站系统PHP完整版源码(PC+WAP在线观看视频)附安装教程

最新版千帆直播网站PHP完整版源码&#xff0c;PCWAP在线观看视频直播系统 安装方法&#xff1a; 1、导入数据库文件 zhibo.sql 2、修改数据库配置文件 有多处包含UC配置; 根目录&#xff1a;config.inc.php – config.php 其他路径&#xff1a; Conf/config.php Admin/C…

JVM(三):JVM命令与参数

JVM命令与参数 文章目录 JVM命令与参数JVM参数标准参数-X 参数-XX参数其他参数说明常用参数的意义 常用命令jpsjinfojstatjstackjmap 常用工具jconsolejvisualvm内存分析工具 MATGC日志分析工具内存分析工具 MATGC日志分析工具 经过前面的各种分析学习&#xff0c;我们知道了关…

淦,服务器被人传了后门木马。。。

「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」&#xff1a;对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 今天很暴躁&#xff0c;因为睡眠被打扰了。 一个朋友大半夜打我电话&#xff0c;说她云服…

ThingsBoard 接入摄像头方案

0、上图 废话不多说,先给大家来个效果图: 1、概述 最近,我在群里看到有很多兄弟向我咨询摄像头接入到tb的方案,这个就是找对人了,后续我会截图我当初做的东西,其实这个很简单,而且我这种方法是最好的,下面给大家一一道来。 我总结了下面几种情况,其实关键在于摄像头…

QML画布元素

在早些时候的Qt4中加入QML时&#xff0c;一些开发者讨论如何在QtQuick中绘制一个圆形。类似圆形的问题&#xff0c;一些开发者也对于其它的形状的支持进行了讨论。在QtQuick中没有圆形&#xff0c;只有矩形。在Qt4中&#xff0c;如果你需要一个除了矩形外的形状&#xff0c;你需…

浅谈电力物联网在智能配电系统应用

摘要&#xff1a; 在社会经济和科学技术不断发展中&#xff0c;配电网实现了角色转变&#xff0c;传统的单向供电服务形式已经被双向能流服务形式取代&#xff0c;社会多样化的用电需求也得以有效满足。随着物联网技术的发展&#xff0c;泛在电力物联网开始应用于当今的电力系…

使用【SD-WEBUI】插件生成单张图包含多个人物:分区域的提示词

文章目录 &#xff08;零&#xff09;前言&#xff08;一&#xff09;潜变量成对&#xff08;Latent Couple&#xff09;&#xff08;1.1&#xff09;可自组LoRA&#xff08;Composable LoRA&#xff09; &#xff08;二&#xff09;分区扩散&#xff08;Multi Diffusion&#…

@Configuration(proxyBeanMethods = false) 解析

又是美好的一天呀~ 个人博客地址&#xff1a; huanghong.top 往下看看~ Configuration(proxyBeanMethods false) 解析proxyBeanMethods分析总结 Configuration(proxyBeanMethods false) 解析 最近看一些源码的时候&#xff0c;发现很多Configuration配置类上Configuration(p…

Mysql 学习(九)多表连接原理

连接介绍 为了更加方便的介绍一下连接&#xff0c;我们先创建两个表格 t1 和 t2 CREATE TABLE t1 (m1 int, n1 char(1));CREATE TABLE t2 (m2 int, n2 char(1));INSERT INTO t1 VALUES(1, a), (2, b), (3, c);INSERT INTO t2 VALUES(2, b), (3, c), (4, d);连接的本质是将各个…

GitHub上的AutoGPT神秘的面纱

最近一直在说AutoGPT&#xff0c;有很多的视频介绍&#xff0c;但是本着收藏等于学会的原则&#xff0c;收藏一堆一直没看。 这里用一句话说明白&#xff1a;AutoGPT就是一个用Python套装的壳子&#xff0c;用来更省事的调用OpenAI的API。&#xff08;如果你不明白API&#xf…

WiFi(Wireless Fidelity)基础(二)

目录 一、基本介绍&#xff08;Introduction&#xff09; 二、进化发展&#xff08;Evolution&#xff09; 三、PHY帧&#xff08;&#xff08;PHY Frame &#xff09; 四、MAC帧&#xff08;MAC Frame &#xff09; 五、协议&#xff08;Protocol&#xff09; 六、安全&#x…

ByteBuffer的讲解和使用

1.它其实就是一个数据读取或者写入的一个缓冲区 2.基本的操作步骤&#xff1a; 向buffer写入数据&#xff0c;例如调用channel.read(buffer)调用flip()切换至读模式从buffer读取数据&#xff0c;例如调用buffer.get()调用clear()或者compact()切换至写模式重复以上步骤 3.内部…

企业商务租车为工作提供便利

在当代的忙碌生活中&#xff0c;我们总会遇到各种各样的烦恼。最突出的是企业在商务工作中&#xff0c;常常会因为各种原因而导致耽误时间&#xff0c;如火急火燎的去谈生意&#xff0c;却遇到了堵车的现象&#xff0c;或者车辆出现问题而导致耽误时间&#xff0c;而广州商务租…

ICV:中国车载超声波雷达市场规模预计2024年可达20亿美元

近年来&#xff0c;由于市场对车辆先进安全功能的需求的增加&#xff0c;汽车超声波传感器市场一直保持稳步增长。ICV估计&#xff0c;车载超声波传感器全球市场预计在2022年至2027年之间以11.5&#xff05;的复合年增长率增长&#xff0c;这种增长是由越来越多的高级驾驶辅助系…

python 开发 1 之 拷贝文件

目录 一、需求&#xff1a; 二、python拷贝分析 1、需要的库&#xff0c;及源路径、目标路径定义 2、定义的拷贝数组 3、自定义拷贝函数 1&#xff09; 如果目标路径不存在时&#xff0c;先创建目标路径 2&#xff09;遍历元组数组中的文件 3&#xff09;如果源文件或目…