手机端视频网站模板什么是网络营销中的终极诉求

web/2025/10/5 22:25:03/文章来源:
手机端视频网站模板,什么是网络营销中的终极诉求,手机触屏网站制作软件,重庆做网站开发的集中1、演示 2、水印的目的 版权保护#xff1a;水印可以在图片、文档或视频中嵌入作者、品牌或版权所有者的信息#xff0c;以防止未经授权的复制、传播或使用。当其他人使用带有水印的内容时#xff0c;可以追溯到原始作者或版权所有者#xff0c;从而加强版权保护。 身份识…1、演示 2、水印的目的 版权保护水印可以在图片、文档或视频中嵌入作者、品牌或版权所有者的信息以防止未经授权的复制、传播或使用。当其他人使用带有水印的内容时可以追溯到原始作者或版权所有者从而加强版权保护。 身份识别水印可以用作作者或品牌的标识符使观众能够轻松识别内容的来源。这对于在社交媒体上分享内容或在网络上发布作品的个人、摄影师、设计师或公司来说尤为重要。 品牌宣传水印可以帮助提升品牌知名度和曝光度。通过在图片或视频中添加品牌标识品牌可以在内容被分享或传播时获得额外的宣传效果。 内容跟踪通过在内容中添加水印可以跟踪内容的传播和使用情况。这对于了解内容在网络上的传播路径、受众和影响力等信息是有帮助的。 3、实话实说 如果通过我们技术层面要解决这种安全或者是版权之类的问题只能说起一定的作用增加那些不怀好意的人操作难度。 要说能够完全防止住那是不可能的一定是技术手段和非技术手段相结合双管齐下。这样才能确保万无一失。 总之防君子不防小人 4、API介绍MutationObserver MutationObserver API 是 Web API 的一部分用于监视 DOM 树的变化。它允许开发者注册一个回调函数该函数在指定的 DOM 节点或子树发生变化时被调用。MutationObserver 是一个强大的工具可以用于监视并响应 DOM 中的变化而无需使用传统的事件监听器。 主要的组成部分包括 MutationObserver 对象用于观察 DOM 树的变化。通过创建 MutationObserver 的实例并传入一个回调函数可以开始监视指定节点或节点集合的变化。 观察目标要监视的 DOM 节点或节点集合。MutationObserver 可以观察单个节点、节点列表甚至整个文档的变化。 回调函数MutationObserver 注册的回调函数在观察的节点发生变化时被调用。回调函数接收一个 MutationRecord 对象数组作为参数该数组包含描述每个变化的信息。 变化记录MutationRecord描述 DOM 变化的对象。每个 MutationRecord 包含有关变化类型、受影响的节点、以及相关信息的详细信息。 MutationObserver API 的使用场景包括但不限于 监视 DOM 中特定元素的属性变化。监视子节点的添加、移除或替换。监视文本内容的变化。实时监视动态加载的内容变化。 通过 MutationObserver开发者可以更加灵活地监控 DOM 变化实现更加复杂和高效的 DOM 操作和交互。 5、实现逻辑 1、通过手写组件的方式将需要添加水印的内容放入组件内 2、通过props传入不同内容实现自定义水印内容、字体大小、水印之间的间隔等等 3、通过canvas来画出水印文字最后将canvas画出的内容转换为图片 4、通过MutationObserverAPI来监听水印元素被删除、被修改属性的变化 6、代码 1、使用水印组件的代码 templatediv classcontainerWatermark text版权所有123div classitem秘密/div/Watermark/div /templatescript setup import { ref, reactive } from vue import Watermark from /components/Watermark/index.vue /scriptstyle scoped langscss .container {width: 100%;display: flex;justify-content: space-around;.item {width: 300px;height: 300px;text-align: center;line-height: 300px;color: #fff;font-size: 50px;background-color: #266fff;} } /style2、水印组件代码 templatediv classwatermark refparentslot/slot/div /templatescript setup import directive from /directive import { ref, reactive, computed, onMounted, onUnmounted } from vue const parent ref(null) const props defineProps({text: {type: String,required: true,default: watermark,},fontSize: {type: Number,default: 32,},// 水印的间隔gap: {type: Number,default: 20,}, }) const watermarkBg props {return computed(() {const canvas document.createElement(canvas)// 视口分辨率 确保当窗口大小变化时 画出的内容不模糊const devicePixelRatio window.devicePixelRatio || 1const fontSize props.fontSize * devicePixelRatioconst font fontSize px serifconst ctx canvas.getContext(2d)// 获取文字宽度ctx.font fontconst { width } ctx.measureText(props.text)const canvasSize Math.max(100, width) props.gap * devicePixelRatiocanvas.width canvasSizecanvas.height canvasSizectx.translate(canvas.width / 2, canvas.height / 2)ctx.rotate((Math.PI / 180) * -45)ctx.fillStyle rgba(0,0,0,0.3)ctx.font fontctx.textAlign centerctx.textBaseline middlectx.fillText(props.text, 0, 0)return {// 转换为base64格式的图片base64: canvas.toDataURL(),size: canvasSize / devicePixelRatio,}}) } const bg watermarkBg(props)// 重置水印 // 如果把水印删掉了就重新调用这个方法 生成一个新的div // 如果把水印的样式改了重新调用这个方法生成一个新的div // 因此这个函数可能会反复调用 造成多个水印的生成 let div null function resetWatermark() {if (!parent.value) return// 清除div防止生成多个水印if (div) {div.remove()}const { base64, size } bg.valuediv document.createElement(div)div.style.position absolutediv.style.backgroundImage url(${base64})div.style.backgroundSize ${size}px ${size}pxdiv.style.backgroundRepeat repeatdiv.style.zIndex 999// 实现点击穿透div.style.pointerEvents nonediv.style.inset 0parent.value.appendChild(div) }// 生成水印的元素什么时候调用 // 1、onMounted的时候 onMounted(() {// 首次生成水印resetWatermark()// 观察水印元素ob.observe(parent.value, {// 观察父元素上所有的子节点childList: true,// 观察父元素上所有的子节点的子节点subtree: true,// 观察父元素身上的属性变化attributes: true,}) })// 2、当被删除或修改样式的时候 // 这个观察器在当元素发生变化的时候执行 const ob new MutationObserver(entries {for (const entry of entries) {// 处理删除for (const node of entry.removedNodes) {if (node div) {resetWatermark()}}// 处理修改if (entry.target div) {resetWatermark()}} })// 注意细节在页面卸载的时候取消观察 onUnmounted(() {ob.disconnect() }) /scriptstyle scoped langscss .watermark {position: relative; } /style

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

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

相关文章

asp网站加速网站增加外链的方法有哪些

SD3303A是一款大功率高亮度LED驱动芯片,可以提供 1A的电流驱动3W的LED。具有高效率,低功耗等特点 ,适用于电池供电的LED照明设备。 SD3303A具有开路保护和过温保护。 SD3303A需要使用两颗10uF(或者更大)的瓷 片电容,来保证电路性能…

3g 手机网站电子商务网站建设有哪些知识点

1.关闭在线DRC功能,可以避免布线时候一卡一卡的问题: 取消在线DRC的勾选: 2.AD的在线封装库,非常好用: 如何优雅地服用AD 21的在线元件库 – 吴川斌的博客 (mr-wu.cn) 3.如何恢复Altium Designer23默认窗口布局 打开…

冠县住房和城乡建设局网站淘宝客建站教程

SpringCloud Ribbon中的7种负载均衡策略 Ribbon 介绍负载均衡设置7种负载均衡策略1.轮询策略2.权重策略3.随机策略4.最小连接数策略5.重试策略6.可用性敏感策略7.区域敏感策略 总结 负载均衡通器常有两种实现手段,一种是服务端负载均衡器,另一种是客户端…

营销型网站建设策划案wix网站建设

1、typescript的基础类型 如下表: 数据类型 关键字 描述 任意类型 any 生命any的变量可以赋值任意类型的值 数字类型 number 整数或分数 字符串类型 string 使用单引号(‘’)或者双引号(“”)来表示字符串…

百度搜索网站提交网站建设 模块

相信大多数人在学习单片机的时候,都是从最基本的8位MCU开始的。一般来说,8位单片机最常见的是三个系列是:51系列、AVR系列、PIC系列。而前段时间,群里讨论了一个问题:在51单片机上跑RTOS有没有意义?关于这个…

天台县建设局官方网站网站建设免费域名

在现今的数字时代,我们的生活离不开互联网。我们使用在线平台进行银行交易、购物、社交媒体互动和其他各种活动。为了保护个人隐私和账号安全,我们需要寻找一种安全且方便的方式来管理我们的在线账号。MuLogin指纹浏览器正是为了满足这些需求而设计的一款…

学做陶艺作品的网站wordpress批量更新文章

5G时代到来,物联网技术的应用也离我们越来越近。智慧交通、智能家庭、智慧园区,越来越多的融入到我们的生活当中。作为物联网重要技术组成的嵌入式系统,嵌入式系统视角有助于深刻地、全面地理解物联网的本质。而物联网是通用计算机的互联网与…

静态网站源码北京软件app开发公司

引言 MistralAI,一家法国的初创企业,近期在AI界引发了轰动,刚刚发布了全球首个基于MoE(Mixture of Experts,混合专家)技术的大型语言模型——Mistral-8x7B-MoE。这一里程碑事件标志着AI技术的一个重要突破…

乔拓云网站建设新网站秒收录技术

unordered_map与unordered_set的实现 文章目录 unordered_map与unordered_set的实现前言一、问题一HashTable.h 二、问题二&问题三1.封装时如何取出key2.不同类型key如何建立对应关系 三、问题四&问题五问题四问题五 四、实现代码MyUnorderedSet.hMyUnorderedMap.hHash…

浙江耀华建设集团网站企业网站建设制作设计哪家最专业

StarRocks 于 4 月底正式发布了 3.0 版本,该里程碑版本带来了大家期盼已久的新特性--存算分离。此新功能一推出,立即受到社区热情追捧,用户纷纷开始在自己的业务中评估和测试存算分离效果。从芒果TV、聚水潭、网易邮箱、浪潮、天道金科等数十…

西安手机网站建设动力无限长沙短视频公司

项目右侧的Maven依赖Dependencies突然消失,项目中的注解都出现报错,出现这种情况应该是因为IDEA版本早于maven版本,重新检查项目中的Maven路径,选择File->Settings->搜索Maven,检查Maven home directory&#xf…

网站支付怎么做中国软件100强企业

自上周怒辞职以后,就開始苦逼的各种面试生涯,生活全然靠私活来接济,时有时没有,真难。还能快乐的玩耍吗。最多一天面试了5家,哎感觉都是不急招人,各种等待通知。好不easy等来一家。还克扣了薪资&#xff0c…

适合公司建设的网站网页棋牌搭建

1前言大家好,我是若川。最近组织了源码共读活动,感兴趣的可以加我微信 ruochuan12 参与,已进行三个月了,大家一起交流学习,共同进步。想学源码,极力推荐之前我写的《学习源码整体架构系列》 包含jQuery、un…

国外注册域名的网站晚上偷偷奖励自己的软件

在经济飞速发展的今天,企业面临着客户需求多样化、质量和交期要求提高以及激烈的市场竞争等挑战。在这样的背景下,许多企业开始考虑采用数字化仓储WMS系统来解决这些问题。 数字化仓储WMS系统通过打造高效、规范的仓库管理体系,实现了对产品…

ps如何做ppt模板下载网站网站建设yuanmus

前几天在书写TypeScript代码时,出现了声明变量报错的情况,具体情况如下: let arr: number; arr 10; console.log(arr);报错如下: 解决方案: 在配置文件tsconfig.json中,配置如下代码: { &q…

哪个网站可以做视频外链wordpress扁平化中文主题

死锁(Deadlock)是指两个或多个进程在执行过程中因争夺资源而造成的一种互相等待的现象 死锁通常发生在多任务系统中,其中进程通过竞争有限的资源来完成任务 死锁通常涉及互斥、持有和等待三个条件。 死锁的原因 互斥条件(Mutual…

雷州网站wordpress 文章结尾处

性能优化指南 1.骨架屏 业务可以在数据加载完成之前用骨架屏幕来占位,提升体验。 2.包大小优化 减小包中静态资源,例如图片文件,可将图片进行压缩降低文件体积。无用文件、函数、样式剔除。除了部分用于容错的图片必须放在代码包&#xf…

开通微网站龙岩微信小程序定制

目录 一、前言1、项目介绍2、图片测试效果展示 二、项目环境配置1、pytorch安装(gpu版本和cpu版本的安装)2、pycocotools的安装3、其他包的安装 三、yolov8/yolov7/yolov5CRNN-中文车牌识别、车牌关键点定位、车牌检测算法1、yolov8算法介绍2、CRNN算法介绍3、算法流…