前端js代码一句话模拟Ctrl+A全选网页内容效果document.execCommand(‘selectAll‘);

news2024/9/22 5:36:21

 

document.execCommand('selectAll');//命令不区分大小写

document.execCommand(aCommandName, aShowDefaultUI, aValueArgument) 

aCommandName:命令名称 
aShowDefaultUI:交互方式, Boolean值,true的话将显示对话框,如果为false的话,则不显示对话框,一般为 false
aValueArgument:动态参数,例如:插入图片需要额外的参数(image 的 url),默认为null

返回一个布尔值Boolen,如果是 false  则表示操作不被支持或未被启用

取消全选使用命令:unselect

document.execCommand('unselect');

 命令

2D-Position 容许经过拖曳移动绝对定位的对象。

AbsolutePosition 设定元素的 position 属性为“absolute”(绝对)。

BackColor 设置或获取当前选中区的背景颜色。

BlockDirLTR 目前还没有支持。

BlockDirRTL 目前还没有支持。

Bold 切换当前选中区的粗体显示与否。

BrowseMode 目前还没有支持。

Copy 将当前选中区复制到剪贴板。

CreateBookmark 建立一个书签锚或获取当前选中区或插入点的书签锚的名称。

CreateLink 在当前选中区上插入超级连接,或显示一个对话框容许用户指定要为当前选中区插入的超级连接的 URL。

Cut 将当前选中区复制到剪贴板并删除之。

Delete 删除当前选中区。

DirLTR 目前还没有支持。

DirRTL 目前还没有支持。

EditMode 目前还没有支持。

FontName 设置或获取当前选中区的字体。

FontSize 设置或获取当前选中区的字体大小。

ForeColor 设置或获取当前选中区的前景(文本)颜色。

FormatBlock 设置当前块格式化标签。

Indent 增长选中文本的缩进。

InlineDirLTR 目前还没有支持。

InlineDirRTL 目前还没有支持。

InsertButton 用按钮控件覆盖当前选中区。

InsertFieldset 用方框覆盖当前选中区。

InsertHorizontalRule 用水平线覆盖当前选中区。

InsertIFrame 用内嵌框架覆盖当前选中区。

InsertImage 用图像覆盖当前选中区。

InsertInputButton 用按钮控件覆盖当前选中区。

InsertInputCheckbox 用复选框控件覆盖当前选中区。

InsertInputFileUpload 用文件上载控件覆盖当前选中区。

InsertInputHidden 插入隐藏控件覆盖当前选中区。

InsertInputImage 用图像控件覆盖当前选中区。

InsertInputPassword 用密码控件覆盖当前选中区。

InsertInputRadio 用单选钮控件覆盖当前选中区。

InsertInputReset 用重置控件覆盖当前选中区。

InsertInputSubmit 用提交控件覆盖当前选中区。

InsertInputText 用文本控件覆盖当前选中区。

InsertMarquee 用空字幕覆盖当前选中区。

InsertOrderedList 切换当前选中区是编号列表仍是常规格式化块。

InsertParagraph 用换行覆盖当前选中区。

InsertSelectDropdown 用下拉框控件覆盖当前选中区。

InsertSelectListbox 用列表框控件覆盖当前选中区。

InsertTextArea 用多行文本输入控件覆盖当前选中区。

InsertUnorderedList 切换当前选中区是项目符号列表仍是常规格式化块。

Italic 切换当前选中区斜体显示与否。

JustifyCenter 将当前选中区在所在格式化块置中。

JustifyFull 目前还没有支持。

JustifyLeft 将当前选中区所在格式化块左对齐。

JustifyNone 目前还没有支持。

JustifyRight 将当前选中区所在格式化块右对齐。

LiveResize 迫使 MSHTML 编辑器在缩放或移动过程当中持续更新元素外观,而不是只在移动或缩放完成后更新。

MultipleSelection 容许当用户按住 Shift 或 Ctrl 键时一次选中多于一个站点可选元素。

Open 目前还没有支持。

Outdent 减小选中区所在格式化块的缩进。

OverWrite 切换文本状态的插入和覆盖。

Paste 用剪贴板内容覆盖当前选中区。

PlayImage 目前还没有支持。

Print 打开打印对话框以便用户能够打印当前页。

Redo 目前还没有支持。

Refresh 刷新当前文档。

RemoveFormat 从当前选中区中删除格式化标签。

RemoveParaFormat 目前还没有支持。

SaveAs 将当前 Web 页面保存为文件。

SelectAll 选中整个文档。

SizeToControl 目前还没有支持。

SizeToControlHeight 目前还没有支持。

SizeToControlWidth 目前还没有支持。

Stop 目前还没有支持。

StopImage 目前还没有支持。

StrikeThrough 目前还没有支持。

Subscript 目前还没有支持。

Superscript 目前还没有支持。

UnBookmark 从当前选中区中删除所有书签。

Underline 切换当前选中区的下划线显示与否。

Undo 目前还没有支持。

Unlink 从当前选中区中删除所有超级连接。

Unselect 清除当前选中区的选中状态。

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

<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>

<body>
  <div class="wrap">
    <div id="butGroup">
      <button id="undo" :title="撤销">撤销</button>
      <button id="redo" :title="恢复">恢复</button>
      <button id="bold" :title="加粗">加粗</button>
      <button id="italic">倾斜</button>
      <button id="underline">下划线</button>
      <button id="strikeThrough">删除线</button>
      <button id="h1">H1</button>
      <button id="h2">H2</button>
      <button id="h3">H3</button>
      <button id="foreColor">字体颜色</button>
      <button id="hiliteColor">字体背景</button>
      <button id="insertOrderedList">有序</button>
      <button id="insertUnorderedList">无序</button>
      <button id="save">提交</button>
    </div>
    <iframe id='HtmlEdit' style="width:800px; height: 400px" marginWidth='10px' marginHeight='10px'></iframe>
  </div>

  <div id="box" style="height: 400px;width: 800px;border: 1px solid black">
  </div>

  <script language="javascript">
    window.onload = function () {
      let editor = document.getElementById("HtmlEdit").contentWindow;//获取iframe Window 对象
      let doc = document.getElementById("HtmlEdit").contentDocument; //获取iframe documen 对象
      let butGroup = document.getElementById('butGroup');
      let box = document.getElementById('box');
      //设置事件监听
      butGroup.addEventListener('click', function (e) {
        //通过e 事件 获取点击的标签 id
        switch (e.target.id) {
          case 'undo': undo(); break;
          case 'redo': redo(); break;
          case 'bold': bold(); break;
          case 'copy': copy(); break;
          case 'italic': italic(); break
          case 'underline': underline(); break;
          case 'strikeThrough': strikeThrough(); break;
          case 'h1': h1(); break;
          case 'h2': h2(); break;
          case 'h3': h3(); break;
          case 'foreColor': foreColor(); break;
          case 'hiliteColor': hiliteColor(); break;
          case 'insertOrderedList': insertOrderedList(); break;
          case 'insertUnorderedList': insertUnorderedList(); break;
          case 'save': save(); break
        }
      })

      //只需键入以下设定,iframe立刻变成编辑器。
      editor.document.designMode = 'On';  //打开设计模式
      editor.document.contentEditable = true;// 设置元素为可编辑

      // 撤销
      let undo = () => { editor.document.execCommand('undo', false, null) }

      // 恢复
      let redo = () => { editor.document.execCommand('redo', false, null) }

      // 加粗
      let bold = () => { editor.document.execCommand('bold', false, null) }

      // 斜体
      let italic = () => { editor.document.execCommand('italic', false, null) }

      // 下划线
      let underline = () => { editor.document.execCommand('underline', false, null) }

      // 删除线
      let strikeThrough = () => { editor.document.execCommand('strikeThrough', false, null) }

      // H1
      let h1 = () => { editor.document.execCommand('fontSize', false, 7) }

      // H2
      let h2 = () => { editor.document.execCommand('fontSize', false, 6) }

      // H3
      let h3 = () => { editor.document.execCommand('fontSize', false, 5) }

      // 字体颜色
      let foreColor = () => { editor.document.execCommand('foreColor', false, 'red') }

      // 字体背景
      let hiliteColor = () => { editor.document.execCommand('hiliteColor', false, 'yellow') }

      // 有序列表
      let insertOrderedList = () => { editor.document.execCommand('insertOrderedList', false, null) }

      // 无序列表
      let insertUnorderedList = () => { editor.document.execCommand('insertUnorderedList', false, null) }

      // 提交
      let save = () => { box.innerHTML = doc.body.innerHTML }
    }
  </script>
</body>

</html>

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

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

相关文章

Oracle11g 64位下载

下载地址 http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_1of2.ziphttp://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_2of2.zip如果下载出现如下错误页面 这时候可以登录oracle官网&#xff0c;随意点击一个下载&am…

基于qrencode实现linux打印二维码

一、概述 在Centos 7环境的控制台打印二维码。 二、实现方式 1.安装qrencode工具 sudo yum install -y qrencode 2.命令 echo "你的字符串" | qrencode -t UTF8三、展示

山海鲸Cesium:帮你用更简单的方式升级视效

CesiumJS作为绝大多数人都在用的开源地球可视化引擎&#xff0c;视觉效果并不拔尖&#xff0c;这让很多giser都想着有一天升级一下视效&#xff0c;从众多平庸的项目中脱颖而出。然而&#xff0c;对于一些使用Cesium的项目来说&#xff0c;要想达到Cesium for unreal的视觉效果…

2023年智能制造与自动化前沿国际会议 | Ei Scopus双检索

会议简介 Brief Introduction 2023年智能制造与自动化前沿国际会议&#xff08;CFIMA 2023&#xff09; 会议时间&#xff1a;2023年11月3 -5日 召开地点&#xff1a;中国天津 大会官网&#xff1a;www.cfima.org 随着全球新一轮科技革命和产业变革突飞猛进&#xff0c;新一代信…

100天精通Golang(基础入门篇)——第15天:深入解析Go语言中函数的应用:从基础到进阶,助您精通函数编程!(进阶)

&#x1f337; 博主 libin9iOak带您 Go to Golang Language.✨ &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &#x1f30a; 《I…

论文学习——U-Net: Convolutional Networks for Biomedical Image Segmentation

UNet的特点 采用端到端的结构&#xff0c;通过FCN&#xff08;最后一层仍然是通过卷积完成&#xff09;&#xff0c;最后输出图像。通过编码&#xff08;下采样&#xff09;-解码&#xff08;上采样&#xff09;形成一个“U”型结构。每次下采样时&#xff0c;先进行两次卷积&…

3D格式转化工具HOOPS Exchange的功能特点

​领先的CAD导入和导出库 使用用于CAD数据转换的HOOPS Exchange SDK将30多种CAD文件格式导入到您的应用程序中&#xff0c;具有对2D和3D CAD文件格式&#xff08;包括 CATIA、SOLIDWORKS、Inventor™、Revit™、Creo、 NX™、Solid Edge 等&#xff0c;全部通过单个API实现。 …

aop拦截所有请求并打印请求方法参数

效果图 代码 package com.hxnwm.ny.diancan.common.aspect;import lombok.extern.slf4j.Slf4j; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.annotation.AfterReturning; import org.aspectj.lang.annotation.AfterThrowing; import org.aspectj.lang.annota…

redis的主从复制、哨兵模式和集群模式搭建

概述 redis主从复制搭建 主从复制的作用 主从复制流程 搭建Redis 主从复制 修改 Redis 配置文件&#xff08;Master节点操作&#xff09; 修改 Redis 配置文件&#xff08;Slave节点操作&#xff09; 验证主从效果 ​编辑 Redis 哨兵模式 哨兵模式的作用 故障转移机制 …

idea切换Git分支时保存未提交的文件

问题描述 现在需要开发一个新功能A时&#xff0c;我们需要从Dev分支上创建一个新的功能分支tenant&#xff0c;然后我们就在这个分支上进行开发。假设有一天&#xff0c;你正在开发&#xff0c;本地已经在tenant上修改了几个文件&#xff0c;但是功能还没有完全开发完成&#…

游戏反调试方案解析与frida/IDA框架分析

近来年&#xff0c;游戏黑灰产攻击趋势呈现出角度多样化的特点。据FairGuard游戏安全数据分析发现&#xff0c;游戏黑灰产攻击以工作室、定制注入挂、内存修改器、模拟点击、破解等形式为主。 游戏安全风险分布占比图 对于一款游戏而言&#xff0c;上述的风险中&#xff0c;被…

Kubernetes(k8s)实战:深入详解Volume,详解k8s文件同步存储

文章目录 一、Volume1、什么是Volume2、Host类型volume实战&#xff08;不推荐&#xff09;&#xff08;1&#xff09;小总结 二、PersistentVolume持久化volume&#xff08;推荐&#xff09;1、什么是PersistentVolume2、什么是PersistentVolumeClaim3、Pod中如何使用PVC 三、…

初中学物理实验室教学装备配置标准

初中物理实验室建设&#xff0c;以现行义务教育物理教科书为基本参照&#xff0c;以学生学科核心素养发展为基本遵循&#xff0c;以加强实验等实践性教学活动&#xff0c;落实立德树人根本任务为目标。因此&#xff0c;初中物理实验室的建设实施过程中&#xff0c;需结合校情、…

PCB封装设计指导(三)如何创建PAD

PCB封装设计指导(三)如何创建PAD 当我们完全看完了Datasheet之后,确定了需要建立的封装类型,以及尺寸之后,这一步就可以开始创建封装的PAD了。 下面介绍如何创建各种类型的PAD和一些技巧和注意点,包括创建flash的注意事项。 1.如何创建PAD 1. 打开pad designer ,根据尺…

STL源码刨析 string实现

目录 一. string 类介绍 二. string 的简单实现 1. 类内成员变量 2. Member functions string ~string operator string(const string& str) 3. Capacity size capacity empty clear reserve resize 4.Modifiers push_back append operator insert era…

【回溯算法part05】| 491.递增子序列、46.全排列、47.全排列||

目录 &#x1f388;LeetCode491.递增子序列 &#x1f388;LeetCode46.全排列 &#x1f388;LeetCode47.全排列|| &#x1f388;LeetCode491.递增子序列 链接&#xff1a;491.递增子序列 给你一个整数数组 nums &#xff0c;找出并返回所有该数组中不同的递增子序列&#xf…

【玩转Linux操作】详细讲解Linux的 权限 操作

&#x1f38a;专栏【​​​​​​​玩转Linux操作】 &#x1f354;喜欢的诗句&#xff1a;更喜岷山千里雪 三军过后尽开颜。 &#x1f386;音乐分享【Love Story】 &#x1f970;欢迎并且感谢大家指出小吉的问题&#x1f970; 文章目录 &#x1f354;权限的基本介绍⭐具体分析&…

【复习1-2天的内容】【我们一起60天准备考研算法面试(大全)-第六天 6/60】

专注 效率 记忆 预习 笔记 复习 做题 欢迎观看我的博客&#xff0c;如有问题交流&#xff0c;欢迎评论区留言&#xff0c;一定尽快回复&#xff01;&#xff08;大家可以去看我的专栏&#xff0c;是所有文章的目录&#xff09;   文章字体风格&#xff1a; 红色文字表示&#…

网络编程---day4

广播发送方&#xff1a; 广播接收方&#xff1a; 组播发射方&#xff1a; 组播接收方&#xff1a;

OpenCV的remap实现图像垂直翻转

以下是完整的代码: #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> #include <iostream>int main() {