【Vue/Js】通过jSignature插件实现h5签名的完整可运行实例,横屏、竖屏两个实例(代码完整,直接运行)

一、插件安装:

http://willowsystems.github.io/jSignature/#/about/

二、竖屏实例

注意:css中的# #signature {}与js中的初始化jSignature插件 $sigdiv.jSignature({})相呼应,这块是个坑呀!网上很有人说清这个坑。


    #signature {
        border: 2px solid #000;
        /* 设置边框 */
        border-radius: 4px;
        /* 设置边框圆角 */
        height: 500px;
        /* 设置签名区域的高度 */
        width: 96%;
        /* 设置签名区域的宽度 */
        background-color: rgb(255, 255, 255);
        color: rgb(255, 0, 0);
        margin: 0 auto;
    }
    // 初始化jSignature插件
    $sigdiv.jSignature({
        "decor-color": "transparent",
        "height": "100%",
        "width": "100%"
    });

<!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>签名系统</title>
</head>
<script type="text/javascript" src="js/vue/vue.js"></script>
<script type="text/javascript" src="js/jquery/jquery-3.6.0.min.js"></script>
<script type="text/javascript" src="js/jSignature/jSignature.min.js"></script>
<link rel="stylesheet" href="css/body.css">
<link href="js/font-awesome/css/font-awesome.min.css" rel="stylesheet">

<style>
    body {
        background-color: rgb(243, 243, 243);
    }

    #box {
        width: 100%;
        height: 100%;
        background-color: rgb(225, 225, 225);
    }

    #signature {
        border: 2px solid #000;
        /* 设置边框 */
        border-radius: 4px;
        /* 设置边框圆角 */
        height: 500px;
        /* 设置签名区域的高度 */
        width: 96%;
        /* 设置签名区域的宽度 */
        background-color: rgb(255, 255, 255);
        color: rgb(255, 0, 0);
        margin: 0 auto;
    }

    /* #region ========== search顶部导航区 ============= */


    #box {
        overflow: hidden;
    }

    #search {
        width: 100%;
        height: 55px;
        background-color: #2f63a7;
        padding-right: 10px;
    }

    /* 左箭头 */

    #search .left-class {
        padding-left: 15px;
        padding-top: 10px;
        font-size: 18px;
        color: white;
        overflow: hidden;
    }

    #search .left-class span {

        display: block;
        float: left;
        line-height: 28px;
        margin-right: 10px;
    }

    #search .left-class span:nth-child(2) {
        line-height: 32px;
    }

    /* #endregion */

    .sign_title {

        width: 94%;
        height: 55px;
        background-color: #000000;
        padding-right: 10px;
        margin: 0 auto;
        margin-top: 20px;
        text-align: center;
        font-size: 18px;
        font-weight: bold;
        line-height: 55px;
        color: white;
        border-top-left-radius: 10px;
        border-top-right-radius: 10px;
    }

    #signature {
        border: 2px solid #000;
        /* 设置边框 */
        border-bottom-left-radius: 10px;
        border-bottom-right-radius: 10px;
        /* 设置边框圆角 */
        height: 250px;
        /* 设置签名区域的高度 */
        width: 95.5%;
        /* 设置签名区域的宽度 */
        background-color: rgb(255, 255, 255);
        color: rgb(255, 0, 0);
        margin-top: -2px;
    }

    #writers {
        width: 100%;
        height: 60px;
        text-align: center;
        margin-top: 30px;
        /* background-color: rgb(232, 167, 167); */
    }

    .bt_1 {
        width: 40%;
        height: 50px;
        background-color: rgb(47, 99, 167);
        color: white;
        font-size: 20px;
        border: 0px;
        border-radius: 5px;

    }
</style>

<body>

    <!-- search顶部导航 -->

    <div id="search">

        <div class="left-class" onclick="javascript:history.back(-1);">

            <span>
                <i class="fa fa-angle-left fa-lg"></i>
            </span>

            <span>
                返回
            </span>

        </div>

    </div>

    <div class="sign_title">
        【签名区】
    </div>

    <div id='signature'></div>

    <div id="writers">
        <button class="bt_1" type="button" id="reset">清除重签</button>
        <span>&emsp;</span>
        <button class="bt_1" type="button" id="yes">确认提交</button>
    </div>
    <div id="someelement"><img src="" id="images"></div>

</body>
<script type="text/javascript">

    // 获取签名区域
    var $sigdiv = $("#signature");

    // 初始化jSignature插件
    $sigdiv.jSignature({
        "decor-color": "transparent",
        "height": "100%",
        "width": "100%"
    });

    //重置画布,清楚笔记
    $("#reset").click(function () {
        $("#signature").jSignature("reset"); //重置画布,可以进行重新作画
        $("#images").attr('src', '');
    });

    //点击关闭按钮,让签名div隐藏,签名按钮显示出来
    $("#close").click(function () {
        $("#signature").remove();
        $("#writers").hide();
        $("#write").show();
    });

    //点击确定按钮,把签名的转成图片,然后把数据放进图片中,最后把图片中的数据传到后台
    $("#yes").click(function () {
        //将画布内容转换为图片
        var $signature = $("#signature")
        var datapair = $signature.jSignature("getData", "image");
        $("#images").attr('src', 'data:' + datapair[0] + "," + datapair[1]);
        var src_data = $("#images").attr('src');//拿到图片中的src,这就是我们需要的base64
        console.info(src_data);
        //在这里就写我们的后台操作
        http({
            data: {
                encode: src_data,
                projectId: projectId,
                institutionsId: institutionsId
            },
            url: 'projectFile/save',
            type: 'post',
            dataType: 'json',
            success: function (data) {

            }
        })


    });

</script>

</html>

三、横屏实例

1、这个实例是在网上找的,运行时,还需要以下文件:

 2、运行效果:

3、完整代码及用到的第三方文件,请在下面的链接获取。 

https://download.csdn.net/download/dxnn520/87591750icon-default.png?t=N176https://download.csdn.net/download/dxnn520/87591750

4、主页面代码:

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

<head>
	<meta charset="UTF-8">
	<title>添加手写签名</title>
	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
	<!-- <meta name="viewport" content="initial-scale=1.0, target-densitydpi=device-dpi" /> -->
	<meta name="viewport"
		content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
	<!-- uc强制竖屏 -->
	<meta name="screen-orientation" content="portrait">
	<!-- QQ强制竖屏 -->
	<meta name="x5-orientation" content="portrait">
	<!-- UC强制全屏 -->
	<meta name="full-screen" content="yes">
	<!-- QQ强制全屏 -->
	<meta name="x5-fullscreen" content="true">
	<script src="js/jquery-3.2.1.min.js"></script>
	<script src="js/jSignature.min.js"></script>
	<link rel="stylesheet" href="css/index.css">
</head>
<style type="text/css">
	.buttonWrap {
	    justify-content: flex-end;
	}
</style>
<body>
	<div class="signature_wrap" id="signature_wrap">
		<div class="placeholderBox">
			<div v-if="isSignaturePadEmpty" class="sign-tips">
				<div class="sign-tip">请使用正楷书写签名</div>
				<div class="sign-tip">保证字迹清晰可辨</div>
			</div>
		</div>
		<div class="signTip">
			<div class="subSignTip">
				<span>添</span><span>加</span><span>手</span><span>写</span><span>签</span><span>名</span>
			</div>
		</div>
		<div id="signature"></div>
		<div class="buttonWrap">
			<style type="text/css">
				.cz-btn{
					width: 50px;
					height: 40px;
					display: flex;
					justify-content: center;
					align-items: center;
					background-color: #1EAFE9;
					border-radius: 3px;
					margin-right: 10px;
					color:#FFFFFF;
				}
				.cz-btn-box{
					width: 130px;
					transform: rotate(90deg);
					margin-bottom: 50px;
					display: flex;
					justify-content: center;
					align-items: center;
				}
			</style>
			<div class="cz-btn-box">
				<span class="cz-btn" id="changeToImg">提交</span>
				<span class="cz-btn" id="reset">清空</span>
			</div>
		</div>
	</div>
	<!-- <p>图片预览:</p>
		<div id="imgShow"></div> -->
	<div class="shadowBox">
		请旋转屏幕再浏览
	</div>
	<script>
		var signObj = $('#signature');
		var evt = "onorientationchange" in window ? "orientationchange" : "resize";
		window.addEventListener(evt, resize, false);
		// 监听屏幕旋转
		function resize(fals) {
			var currDeviceObj = currDevice();
			if (window.orientation == 0 || window.orientation == 180) {
				if ($('.shadowBox').hasClass('active')) {
					window.location.reload()
				}
			} else {
				if (currDeviceObj.mobile) {
					if (!currDevice.iPad) {
						$('.shadowBox').addClass('active')
					} else {
						$('.shadowBox').removeClass('active')
					}
				}
			}
		}
		resize(true);
		$(function () {
			var currDeviceObj = currDevice();
			var whArr = deviceBrowserWH();
			if(whArr[0]>whArr[1]){
				// 横屏
				$('.signTip').css({
					width: '100vw'
				});
				if(currDeviceObj.mobile){
					if (!currDevice.iPad) {
						$('.shadowBox').addClass('active')
					}else{
						$('.shadowBox').removeClass('active')
					}
				}

			} else {
				$('.subSignTip span,.buttonWrap img').css({
					transform: 'rotate(90deg)',
					display: 'inline-block'
				});
			}
			// 初始化画布
			signObj.jSignature({
				width: '100vw',
				height: '100vh',
				'UndoButton': false,
				lineWidth: 5,
				color: '#000'
			});
			$("#signature").bind('change', function (e) {
				$('.placeholderBox').hide();
			})
			// 清空画布
			$('#reset').click(function () {
				signObj.jSignature("reset");
				$('.placeholderBox').show();
			})
			// 转换成图片
			$('#changeToImg').click(function () {
				convertToImg();
			})
		})
		/**
		 * 获取设备、浏览器的宽度和高度
		 * @returns
		 */
		function deviceBrowserWH() {
			//获取浏览器窗口的内部宽高 - IE9+、chrome、firefox、Opera、Safari:
			var w = window.innerWidth;
			var h = window.innerHeight;

			// HTML文档所在窗口的当前宽高 - IE8.7.6.5
			document.documentElement.clientWidth;
			document.documentElement.clientHeight;
			document.body.clientWidth;
			document.body.clientHeight;

			var screenW = window.screen.width;//设备的宽度
			var screenH = document.body.clientHeight;

			//网页可见区域宽高,不包括工具栏和滚动条(浏览器窗口可视区域大小)
			var webpageVisibleW = document.documentElement.clientWidth || document.body.clientWidth;
			var webpageVisibleH = document.documentElement.clientHeight || document.body.clientHeight;

			//网页正文全文宽高(不包括滚动条)
			var webpageW = document.documentElement.scrollWidth || document.body.scrollWidth;
			var webpageH = document.documentElement.scrollHeight || document.body.scrollHeight;

			//网页可见区域宽高,包括滚动条等边线(会随窗口的显示大小改变)
			var webpageVisibleW2 = document.documentElement.offsetWidth || document.body.offsetWidth;
			var webpageVisibleH2 = document.documentElement.offsetHeight || document.body.offsetHeight;
			return [w,h]
			//网页卷去的距离与偏移量
			/*
			1.scrollLeft:设置或获取位于给定对象左边界与窗口中目前可见内容的最左端之间的距离;
			2.scrollTop:设置或获取位于给定对象最顶端与窗口中目前可见内容的最左端之间的距离;
			3.offsetLeft:设置或获取位于给定对象相对于版面或由offsetParent属性指定的父坐标的计算左侧位置;
			4.offsetTop:设置或获取位于给定对象相对于版面或由offsetParent属性指定的父坐标的计算顶端位置;
		*/

		}
		/**
		 * 判断当前设备
		 * @returns
		 */
		function currDevice() {
			var u = navigator.userAgent;
			var app = navigator.appVersion;// appVersion 可返回浏览器的平台和版本信息。该属性是一个只读的字符串。
			var browserLang = (navigator.browserLanguage || navigator.language).toLowerCase();	//获取浏览器语言

			var deviceBrowser = function () {
				return {
					trident: u.indexOf('Trident') > -1,  //IE内核
					presto: u.indexOf('Presto') > -1,  //opera内核
					webKit: u.indexOf('AppleWebKit') > -1,  //苹果、谷歌内核
					gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,  //火狐内核
					mobile: !!u.match(/AppleWebKit.*Mobile.*/),  //是否为移动终端
					ios: !!u.match(/\(i[^;]+;( U;)? CPU.Mac OS X/),  //ios终端
					android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1,  //android终端或者uc浏览器
					iPhone: u.indexOf('iPhone') > -1,  //是否为iPhone或者QQHD浏览器
					iPad: u.indexOf('iPad') > -1,  //是否iPad
					webApp: u.indexOf('Safari') == -1,  //是否web应用程序,没有头部和底部
					weixin: u.indexOf('MicroMessenger') > -1,  //是否微信
					qq: u.match(/\sQQ/i) == " qq",  //是否QQ
				}
			}();
            console.log(deviceBrowser);
			return deviceBrowser;
		}
		// 获取当前生成的图片
		function convertToImg() {
			//可选格式:native,image,base30,image/jsignature;base30,svg,image/svg+xml,svgbase64,image/svg+xml;base64
			// var dataStr = "data:" + $("#signature").jSignature('getData', "image");
			var dataStr = "data:" + $("#signature").jSignature('getData', "svgbase64");
			localStorage.setItem('userImg',dataStr);
			console.log(dataStr);
			// location.href="sueccess.html";
		}

	</script>
</body>

</html>

4、完整代码及用到的第三方文件,请在下面的链接获取。 

https://download.csdn.net/download/dxnn520/87591750icon-default.png?t=N176https://download.csdn.net/download/dxnn520/87591750

敦厚的曹操
关注 关注
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
jQuery签名插件jSignature
bz19941101的博客
10-19 1775
1.引入jSignature.min.js文件 2.html代码 &amp;lt;div id=&quot;signature&quot;&amp;gt; 3.js代码 1)初始化画布 $(#signature&quot;).jSignature({&quot;decor-color&quot;:&quot;transparent&quot;,'height': 350,'width':600,lineWidth:5}
VUE H5移动端 手写签名组件封装,
weixin_45137175的博客
04-18 678
这里进行了组件封装 ,代码如下自己看记录一下。通过画布生成手写签名并生成图片。VUE HTML部分。
JavaScript实现手写签名功能,可触屏手写,支持移动端与PC端
最新发布
weixin_47375788的博客
03-30 914
/ 如果不支持保存到相册,你可以提供其他方式或提示用户手动保存。// 将带有白色背景的画布内容转为PNG格式的DataURL。"无法直接保存到相册,请手动保存签名图片。// 复制绘制的签名到带有白色背景的画布。// 将canvas元素插入DOM树中。// 用于保存带有白色背景的签名图像。// 创建一个链接元素并设置下载属性。// 创建两个canvas元素。// 检查是否支持保存到相册。// 上一个触摸点的坐标。// 设置下载文件的名称。// 获取DOM元素。
Vue+Echarts监控大屏实例十一:网络态势感知监控模板实例
06-06
Vue+Echarts监控大屏实例十一:网络态势感知监控模板实例,包括源码,开发文档、素材等。 使用vue-echarts实现监控大屏搭建,开发,实现对于监控界面的相关开发资料,提供实例源码、开发过程视频及实现过程。 高德地图并展示对于报表,界面尺寸进行调整使用vh及rem设置对应尺寸以便自适应,代码使用vue3写法,整体框架进行调整,使用steup语法糖,数据使用响应式写法等。 使用HBuilderX开发,提供开发过程视频、相关文档、源码素材等。 网络态势感知数据可视化监控大屏,echarts报表实现,网络态势感知监控大屏。
vue中用H5实现文件上传的方法实例代码
08-30
本篇文章主要介绍了vue中用H5实现文件上传的方法实例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
vue.js单页面应用实例的简单实现
10-20
本篇文章主要介绍了vue.js单页面应用实例的简单实现,使用单页应用,没有页面切换,就没有白屏阻塞,可以大大提高 H5 的性能,达到接近原生的流畅体验。
js常用插件(十二)之手写签名jsignature.js
小龚的博客
02-07 3795
js常用插件之手写签名jsignature.js 欢迎点击: 个人官网博客 jsignature.js 先上效果图: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/1.8.1/jquery.min.
H5中 手写签名
weixin_46901857的博客
08-12 2659
H5 手写签名
使用jSignature.js实现电子签名
weixin_45740068的博客
02-22 556
代码】使用jSignature.js实现电子签名
手写签名H5\小程序)
weixin_42185305的博客
01-26 3814
做个笔记! 手写签名主要是用canvas实现。通过监听手指触碰屏幕事件来完成(touchstart、touchmove、touchcancel) H5: 这里是用的vue封装一个手写签名的组件 html: <template> <div class="hand_paint" @touchmove.prevent> <div class="hand_content"> <div class="sign_box" id="signBo
H5手写签名
oopxiajun博客专栏
11-23 1520
一,借鉴网络实现 html和jquery实现 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>学写一个字</title> <meta name="viewport" content="height=device-height, width = device-width,
Vue使用Clipboard.JSh5页面中复制内容实例详解
10-16
在本篇文章里小编给大家整理了关于Vue使用Clipboard.JSh5页面中复制内容以及相关知识点内容,需要的朋友们可以学习下。
手写签名js插件
07-27
插件用于PC端或移动端的手写签名功能主要应用在电子合同平台。
Vue +WebSocket + WaveSurferJS 实现H5聊天对话交互的实例
01-21
引言 在与实现了语音合成、语义分析、机器翻译等算法的后端交互时,页面可以设计成更为人性化、亲切的方式。我们采用类似于聊天对话的实现,效果如下: 智能客服(输入文本,返回引擎处理后的文本结果) 语音合成(输入文本,返回文本以及合成的音频) 如上图所示,返回文本后,再返回合成出的音频。 音频按钮嵌在对话气泡中,可以点击播放。 语音识别(在页面录制语音发送,页面实时展示识别出的文本结果) 实现功能及技术要点 1、基于WebSocket实现对话流 页面与后端的交互是实时互动的,所以采用WebSocket协议,而不是HTTP请求,这样后端推送回的消息可以实时显示在页面上。 WebSo
JavaScript实现手写签名,可触屏手写,支持移动端与PC端双端保存
rr20060119的博客
12-07 1966
这段代码实现的功能是在网页上手写签名,并将签名保存为PNG格式的图片。它的实现原理是使用HTML5提供的canvas元素来绘制签名,在签名区域上监听触摸事件,并将触摸点的坐标用线段连接起来。保存签名时,先在一个新的canvas元素上绘制白色背景,再将绘制的签名复制到这个新的canvas元素上,并将这个canvas元素的内容转换为PNG格式的DataURL,最后创建一个链接元素,设置下载属性,点击链接下载签名图片。
js + canvas 签名插件
qq_41742576的博客
10-01 163
pageX,pageY:鼠标指针的位置,文档的坐标。(也就是相对于浏览器窗口),会受css样式偏移量的影响,如padding,margin等。在init方法中构建canvas实例,并绑定相应的鼠标事件,通过单独的事件绑定方法,将三种鼠标事件处理逻辑分割开来。鼠标按下时,获取当前的当前的坐标,并记录当前开始坐标,在此设置线样式。offsetX,offsetY:鼠标相对于事件源元素的x,y坐标。鼠标移动时,记录每一次移动的坐标信息,也就是路径点位信息。sign.js插件代码
uni-app - 电子签字板组件(签名专用写字画板,支持调整写字板 “横纵“ 方向,可调整线条粗细颜色等,Canvas 绘制非常丝滑流畅)完美兼容 H5 APP 小程序,最好用的画板签字教程插件源码
王佳斌
11-08 4004
uniapp 签名组件,uniapp写签名板,实现横屏签字板,uniapp 开发手绘签名组件插件,canvas 手写签名签字画板组件,手写签名,uni-app H5 APP 小程序兼容最好的画板,uni-app 银行专用签字画板,客户专用签字板,uniapp官方插件,官方最好用的组件,UNIAPP实现电子签名,uniapp 小程序手写签名、签字,电子签名实现uniapp 手写签名功能,手写板、签字板,uni-app插件市场最好的电子签名专用写字板,uni-app - 电子签字板组件(签名专用写字画板,支持
页面手写签名插件 jSignature.min.js 使用实例
小熊
06-18 2192
页面手写签名插件 jSignature.min.js 使用 jSignature.min.js 插件下载 页面使用案例 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <met
vue使用canvas实现手写电子签名vue使用vue-esign插件实现手写电子签名H5使用画布签名
i_am_a_div的博客
10-26 2043
vue使用canvas实现手写电子签名vue使用vue-esign插件实现手写电子签名H5使用画布签名
vue框架h5下载pdf的js代码
05-16
然后在需要下载PDF的组件中,引入这两个库: ```javascript import jsPDF from 'jspdf'; import FileSaver from 'file-saver'; ``` 接下来,你可以使用jsPDF将HTML内容转换为PDF格式: ```javascript // 获取需要...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • Sql Server 里的向上取整、向下取整、四舍五入取整的实例! 204956
  • Win7+64位操作系统成功注册dll的方法!(已测试成功) 183570
  • js中取绝对值的2种方法! 173351
  • Win7复制文件时出现:“您需要权限来执行操作!”(终极解决方法!) 118363
  • Jquery实现网页跳转或用命令打开指定网页! 97126

分类专栏

  • 27.【uni-app】 20篇
  • 26.【Vue】 109篇
  • 【短视频】 1篇
  • 【Vue-element-admin】 4篇
  • 33.【Note.js】 2篇
  • 21.【Java】 60篇
  • 28.【Git】 8篇
  • 30.【API接口】 4篇
  • 29.【React】 4篇
  • 25.【VsCode】 9篇
  • 27.【Bootstrap】 2篇
  • 24.【Axure】 4篇
  • 0.【小程序】 52篇
  • 1.【Sql Server】 77篇
  • 2.【Asp.Net】 129篇
  • 3.【javascript】 88篇
  • 4.【html】 83篇
  • 5.【css】 84篇
  • 6.【jquery】 96篇
  • 7.【Ajax】 25篇
  • 8.【LigerUI-Js】 53篇
  • 9.【c#】 10篇
  • 10.【VFP 】 22篇
  • 11.【网址和临时资料备份】
  • 12.【程序人生】 14篇
  • 13.【Windows系统】 38篇
  • 14.【LinQ】 5篇
  • 15.【IIS】 27篇
  • 16.【Html5】 3篇
  • 17.【android】 24篇
  • 18.【ExtJs】 1篇
  • 19.【Asp】 11篇
  • 20.【Oracle】
  • 22.【PhotoShop】 2篇
  • 23.【MySql】 7篇
  • 数组

最新评论

  • 【小程序】如何清除小程序绑定的微信及手机号?(已解决)

    qq_24873801: 不行,有的小程序根本不显示在这个列表里面,很流氓

  • 【Css】div或按钮鼠标经过或鼠标点击后效果样式(图文+示例)

    社稷瑰宝: 大佬如何默认选中一个

  • 【小程序】已有公众号认证,一步一步申请小程序(图文)

    awmooo1: 早取消了,不让公众号复用认证了

  • Win7/Win2008下IIS配置Asp站点的注意事项!

    CSDN-Ada助手: 哇, 你的文章质量真不错,值得学习!不过这么高质量的文章, 还值得进一步提升, 以下的改进点你可以参考下: (1)起一个更符合文章内容的标题;(2)提升标题与正文的相关性;(3)使用更多的站内链接。

  • 【Vue】Vue中在html元素插入表达示{{print.createTime.substring(0,10)}}中,报错 (reading ‘substring‘)的解决方法

    2301_77529681: 我想问一下,在哪里写

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 【html和css】Fontawesome最新的4.7.0版,675个图标
  • 【uni-app】uni-app官方自带图标的使用方法
  • 【Asp】asp中form多个按钮提交例子
2024年5篇
2023年61篇
2022年223篇
2021年31篇
2020年16篇
2019年41篇
2018年16篇
2016年5篇
2015年1篇
2014年51篇
2013年137篇
2012年196篇
2010年1篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

敦厚的曹操

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

哆哆女性网民权高新区周公解梦梦见槐树开美发店起名算命名字网站建设预算方案咖啡店网站设计如何根据中文起英文名学校未解之谜周易免费箅命撩她上瘾BY阿司匹林宣城网站建设公司韩国电视剧大全最新2020关于seo周易诵读周公解梦狗咬自己郑州好的网站建设公司怀孕35周容易饿龙年祝福作文的素材3d电影天堂附近美食美食网页优化网站推广免费易经生辰八字算命算死命2网站建设好找工作吗万象更新的意思范字起名男孩禾字起名的女孩名字大全psp数码宝贝大冒险攻略旺仔牛奶的寓意是什么淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻不负春光新的一天从800个哈欠开始有个姐真把千机伞做出来了国产伟哥去年销售近13亿充个话费竟沦为间接洗钱工具重庆警方辟谣“男子杀人焚尸”男子给前妻转账 现任妻子起诉要回春分繁花正当时呼北高速交通事故已致14人死亡杨洋拄拐现身医院月嫂回应掌掴婴儿是在赶虫子男孩疑遭霸凌 家长讨说法被踢出群因自嘲式简历走红的教授更新简介网友建议重庆地铁不准乘客携带菜筐清明节放假3天调休1天郑州一火锅店爆改成麻辣烫店19岁小伙救下5人后溺亡 多方发声两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#青海通报栏杆断裂小学生跌落住进ICU代拍被何赛飞拿着魔杖追着打315晚会后胖东来又人满为患了当地回应沈阳致3死车祸车主疑毒驾武汉大学樱花即将进入盛花期张立群任西安交通大学校长为江西彩礼“减负”的“试婚人”网友洛杉矶偶遇贾玲倪萍分享减重40斤方法男孩8年未见母亲被告知被遗忘小米汽车超级工厂正式揭幕周杰伦一审败诉网易特朗普谈“凯特王妃P图照”考生莫言也上北大硕士复试名单了妈妈回应孩子在校撞护栏坠楼恒大被罚41.75亿到底怎么缴男子持台球杆殴打2名女店员被抓校方回应护栏损坏小学生课间坠楼外国人感慨凌晨的中国很安全火箭最近9战8胜1负王树国3次鞠躬告别西交大师生房客欠租失踪 房东直发愁萧美琴窜访捷克 外交部回应山西省委原副书记商黎光被逮捕阿根廷将发行1万与2万面值的纸币英国王室又一合照被质疑P图男子被猫抓伤后确诊“猫抓病”

哆哆女性网 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化