把 网页代码 嵌入到 单片机程序中 2 日志2024/7/26

news2024/9/20 0:59:05

之前不是说把 网页代码 嵌入到 单片机程序中 嘛!

目录

之前不是说把 网页代码 嵌入到 单片机程序中 嘛!

 修改vs的tasks.json配置

 然后 测试

结果是正常的,可以编译了

但是:当我把我都html代码都写上去之后

还是会报错!!!

内部被检测到了,没辙,只有手动更新了小工具代码

界面展示

​编辑功能:两种转换格式分别对应不同用法,一键复制到剪切板(免去全选操作) 


本来可以 const char* html=R"( )";

这样写的话.这样中间可以直接放 网页代码 而不用特别的去转义!

但是我一直没有用上,一直用的前面我发布的 把 网页代码 嵌入到 单片机程序中,2024/7/25 17:33-CSDN博客

今天就挺莫名其妙的了解到了真相.............gcc版本过低

 之后我又发现..................它这个版本支持!

GCC 10.3.0默认支持C++11,显式指定标准总是个好习惯。在你的编译命令中加入-std=c++11

 修改vs的tasks.json配置

   {
       "version": "2.0.0",
       "tasks": [
           {
               "label": "build",
               "type": "shell",
               "command": "g++",
               "args": [
                   "-std=c++11", //明显的指定支持c++11 风格
                   "${file}",
                   "-o",
                   "${fileDirname}/${fileBasenameNoExtension}"
               ],
               "group": {
                   "kind": "build",
                   "isDefault": true
               }
           }
       ]
   }

 然后 测试

const char* html=R"(<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
</html>)";

结果是正常的,可以编译了

但是:当我把我都html代码都写上去之后

还是会报错!!!

内部被检测到了,没辙,只有手动更新了小工具代码

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

<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        body {
            padding: 0;
            margin: 0;
            box-sizing: border-box;
           
        }

        .container {
            overflow-x: hidden;

            width: 100vw;
            height: 90vh;
            background-color: bisque;

        }
        #box {
            width: 100vw;
            height: 10vh;
            position: relative;
            display: flex;
            justify-content: center;
            z-index: 2;
            
        }

        .button-style {

            bottom: 0;
            background-color: rgb(2, 120, 159);
            width: 100%;
            height: 10vh;
        }

        #but1 {
            margin-right: 5%;
        }

    
    </style>
</head>

<body>
    <div id="daima" class="container" contenteditable="true">


    </div>
    <div id="box">
        <button id="but" class="button-style" onclick="zy()">转义符模式:const char* html="转义后代码";</button>
        <button id="but2" class="button-style" onclick="zy2()">双引号变单引号模式:const char* html=R"(处理后代码)";</button>
        <button id="but3" class="button-style" onclick="zy3()">复制到剪切板</button>
    </div>

    <script>

        var hq;
        var typea = false;
        function zy() {
            if (!typea) {
                hq = document.getElementById('daima').textContent;//获取代码
                typea = true;
            }
            document.getElementById('but').style.backgroundColor = 'red';
            setTimeout(function () {
                document.getElementById('but').style.backgroundColor = 'rgb(2, 120, 159)';
            }, 200);
            let zh = hq.replace(/"/g, '\\"');//查找字符串 hq 中的所有双引号,并将它们替换为转义后的双引号(即 \")。
            document.getElementById('daima').innerText = zh;
        }
        function zy2() {
            if (!typea) {
                hq = document.getElementById('daima').textContent;//获取代码
                typea = true;
            }
            document.getElementById('but2').style.backgroundColor = 'red';
            setTimeout(function () {
                document.getElementById('but2').style.backgroundColor = 'rgb(2, 120, 159)';
            }, 200);
            let zh = hq.replace(/"/g, "'");//查找字符串 hq 中的所有双引号,并将它们替换为转义后的单引号。
            document.getElementById('daima').innerText = zh;
        }

        function zy3() {
            var newdaima=document.getElementById('daima').innerText;
            var but3=document.getElementById('but3');
            but3.style.backgroundColor = 'red';
            setTimeout(function () {
                document.getElementById('but3').style.backgroundColor = 'rgb(2, 120, 159)';
            }, 200); 
            navigator.clipboard.writeText(newdaima).then(function () {
               
                document.getElementById('daima').innerText="";
                hq="";
                typea=false; 
                alert("复制成功!");
            }, function (err) {
                alert("复制失败!");
            });
         }

    </script>
</body>

</html>

界面展示

功能:两种转换格式分别对应不同用法,一键复制到剪切板(免去全选操作) 

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

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

相关文章

低功耗单声道音频编解码器ES8311中文规格书介绍

特征 具有ADC和DAC的低功耗单声道音频编解码器ES8311。 ES8311 QFN20封装的外形和丝印 系统 • 高性能、低功耗多位 delta-sigma 音频 ADC 和 DAC • I2S/PCM 主站或从站串行数据端口 • 256/384Fs、USB 12/24 MHz 和其他非标准音频系统时钟 • I2C 接口 模数转换器 • 24…

28 列表创建与删除

使用 “” 直接将一个列表赋值给变量即可创建列表对象。 my_list [a, #, 128, [12], [], {2, }, {a: 1, b: 2}] print(my_list) print(type(my_list)) print(id(my_list[0]), id(my_list[-1]))可以使用 list() 函数把元组、range对象、字符串、字典、集合或其他可迭代对象转换…

PDF管理器和查看器PdfDing

什么是 PdfDing &#xff1f; PdfDing 是一款自托管 PDF 管理器和查看器&#xff0c;可在多种设备上提供无缝用户体验。它设计精简、速度快&#xff0c;并且易于通过 Docker 设置。 功能特点 在多种设备上无缝基于浏览器的 PDF 查看使用标签整理 PDF干净且响应迅速的用户界面暗…

photoshop学习笔记——选区3

从窗口面板可以打开历史记录面板&#xff0c;历史记录面板保存了所有的操作 可以点击历史记录中某一条&#xff0c;回到当时的操作状态&#xff0c;也可以通过编辑中的 还原、重做、切换到最终状态逐步调整或直接跳到最终状态 回退之后&#xff0c;如果有新的操作&#xff0c;历…

GEE:设置ui.Map.Layer上交互矢量边界填充颜色为空,只显示边界

一、目标 最近在GEE的交互功能鼓捣一些事情&#xff0c;在利用buffer功能实现了通过选点建立一个矩形后&#xff0c;需要将该矩形填充颜色设为空&#xff0c;只留边界。 然而通过正常设置layer的可视化参数并不能实现这一目的。因此只能另辟蹊径&#xff0c;改为定义矢量边界…

项目开发实战案例 —— Spring Boot + MyBatis + Hibernate + Spring Cloud

作者简介 我是本书的作者&#xff0c;拥有多年Java Web开发经验&#xff0c;致力于帮助更多开发者快速掌握并运用Java Web技术栈中的关键框架和技术。本书旨在通过实战案例的方式&#xff0c;带领读者深入理解并实践Spring Boot、MyBatis、Hibernate以及Spring Cloud等热门技术…

reshape函数介绍及应用

reshape 函数在 MATLAB 中是一个非常有用的函数&#xff0c;通过重新排列现有元素来重构数组。它允许你重新调整数组&#xff08;或矩阵&#xff09;的尺寸&#xff0c;而不改变其数据。这个函数特别适用于当你需要将一个矩阵或数组从一种结构转换为另一种结构时&#xff0c;只…

【计算机网络】TCP负载均衡实验

一&#xff1a;实验目的 1&#xff1a;了解TCP负载均衡的配置。 2&#xff1a;学会使用NAT技术处理和外部网络的连接。 二&#xff1a;实验仪器设备及软件 硬件&#xff1a;RCMS交换机、网线、内网网卡接口、Windows 2019操作系统的计算机等。具体为&#xff1a;二层交换机1…

Redis:RDB持久化

1. 简介 实现类似照片记录效果的方式&#xff0c;就是把某一时刻的数据和状态以文件的形式写到磁盘上&#xff0c;也就是 快照。这样一来即使故障宕机&#xff0c;快照文件也不会丢失&#xff0c;数据的可靠性也就得到了保证。 这个快照文件就称为RDB文件(dump.rdb)&#xff0c…

黑马头条Day10-定时计算热点文章、xxl-job

一、今日内容 1. 需求分析 目前实现的思路&#xff1a;从数据库直接按照发布时间倒序查询 问题&#xff1a; 如果访问量比较大&#xff0c;直接查询数据库&#xff0c;压力较大新发布的文章会展示在前面&#xff0c;并不是热点文章 2. 实现思路 解决方案&#xff1a;把热点…

Android 列表或网格形式展示大量数据:RecyclerView(二):缓存复用

一、缓存复用 为什么要了解这个呢&#xff1f;当我们rv出现卡顿&#xff0c;出现闪烁的时候&#xff0c;你应该如何优化呢&#xff1f; 为什么有时候onCreateViewHolder会被调用&#xff1f;onBindVilewHolder会被调用呢&#xff1f; visiable的使用&#xff0c;会导致重新绘制…

《“王栎鑫变张艺兴”?娱乐圈乌龙背后梦幻联动与未来合作遐想》

在这个充满惊喜与欢笑的娱乐圈里&#xff0c;每一个不经意的瞬间都可能成为网友热议的焦点&#xff0c;而《快乐老友记》的最新花絮&#xff0c;无疑为这个多彩的世界又添上了一抹亮丽的色彩。当“王栎鑫被路人认成张艺兴”这一话题如春风般拂过网络&#xff0c;不仅让两位才华…

【初阶数据结构】复杂度算法题篇

旋转数组 力扣原题 方案一 循环K次将数组所有元素向后移动⼀位&#xff08;代码不通过) 时间复杂度O(n2) 空间复杂度O(1) void rotate(int* nums, int numsSize, int k) {while (k--) {int end nums[numsSize - 1];for (int i numsSize - 1; i > 0; i--) {nums[i] num…

JAVAWeb实战(前端篇)

项目实战一 0.项目结构 1.创建vue3项目&#xff0c;并导入所需的依赖 npm install vue-router npm install axios npm install pinia npm install vue 2.定义路由&#xff0c;axios&#xff0c;pinia相关的对象 文件&#xff08;.js&#xff09; 2.1路由(.js) import {cre…

【数据结构】详解二叉树及其操作

无论你觉得自己多么的了不起&#xff0c;也永远有人比你更强。&#x1f493;&#x1f493;&#x1f493; 目录 ✨说在前面 &#x1f34b;知识点一&#xff1a;二叉树的遍历 • &#x1f330;1.创建一棵二叉树 • &#x1f330;2.二叉树的遍历 •&#x1f525;前序遍历 •&a…

LLM:归一化 总结

一、Batch Normalization 原理 Batch Normalization 是一种用于加速神经网络训练并提高稳定性的技术。它通过在每一层网络的激活值上进行归一化处理&#xff0c;使得每一层的输入分布更加稳定&#xff0c;从而加速训练过程&#xff0c;并且减轻了对参数初始化的依赖。 公式 …

计算机导论速成笔记

【拯救者】计算机导论速成&#xff08;基础真题&#xff09;期末/升本均适用 ©无忌教育 ❀适⽤于所有 计算机导论 课本 目录&#xff1a; 好评&#xff1a; 特色&#xff1a; ①先讲本章考点, ②接着下节就讲对应的考题 观看地址&#xff1a;

太美了!智能汽车触摸屏中控让驾驶员和乘客目不转睛

太美了&#xff01;智能汽车触摸屏中控让驾驶员和乘客目不转睛 引言 艾斯视觉作为行业ui设计和前端开发领域的从业者&#xff0c;其观点始终认为&#xff1a;智能汽车已经成为现代交通的新宠。其中&#xff0c;触摸屏中控系统以其美观、智能、人性化的特点&#xff0c;为驾驶…

GEE:多面板同步缩放查看多源数据,并实现交互选点构建NDVI曲线

一. 目标 ①构建三个面板&#xff0c;分别显示不同来源数据&#xff1b; ②面板1显示哨兵数据面版2显示谷歌高清数据面板3实现用户任意交互选点&#xff0c;并以该点为中心构建正方形&#xff0c;随后生成该正方形的区域NDVI平均值长时序曲线&#xff1b; ③保证前两个面板可…

第 3 章 数据和 C

目录 3.1 示例程序 3.1.1 程序中的新元素 3.2 变量与常量数据 3.3 数据: 数据类型关键字 3.3.1 整数和浮点数 3.3.2 整数 3.3.3 浮点数 3.4 C 语言基本数据类型 3.4.1 int 类型 1. 声明 int 变量 2. 初始化变量 3. int 类型常量 4. 打印 int 值 5. 八进制和十六进…