- uniapp使用内置地图选择插件,实现地址选择并在地图上标点
神夜大侠
Uniappvue.jsuniapp
uniapp使用内置地图选择插件,实现地址选择并在地图上标点代码如下:page{background:#F4F5F6;}::-webkit-scrollbar{width:0;height:0;color:transparent;}page{height:100%;width:100%;font-size:24rpx;}image,view,input,textarea,label,text,na
- 微信小程序仿微信聊天界面
微特尔普拉斯
微信小程序微信notepad++
界面结构:消息列表:使用scroll-view实现滚动,每条消息使用view组件包裹,根据消息类型(文本、图片、文件)显示不同内容。输入框区域:包含输入框(textarea)、发送按钮(button)和上传文件按钮(view组件模拟)。头像:使用image组件展示。功能实现:多行输入框高度自适应:使用textarea组件的auto-height属性,并监听linechange事件动态调整高度。消息
- div和textarea中英文和数字不换行解决方案
k_t_feng
网页前端
设置div的css:word-wrap:break-word;word-break:break-all;解释:word-wrap:break-word;强制换行以单词为分解word-break:break-all;强制换行以最后一个单词,会强制拆分单词
- Vue2——v-model 双向绑定的原理
AYANGIJ
javascriptvue.js前端
v-model是vue中进行数据双向绑定的指令,v-model本质就是:value+input方法的语法糖。可以通过model属性的prop和event属性来进行自定义。原生的v-model,会根据标签的不同生成不同的事件和属性。例如:text和textarea元素使用value属性和input事件checkbox和radio使用checked属性和change事件select字段将value作为
- 前端面试题(附答案)持续更新中……
卖家导航
程序员前端
块标签:div、h1~h6、ul、li、table、p、br、form。特征:独占一行,换行显示,可以设置宽高,可以嵌套块和行行标签:span、a、img、textarea、select、option、input。特征:只有在行内显示,内容撑开宽、高,不可以设置宽、高(img、input、textarea等除外)。5.清除浮动⭐⭐⭐父级div定义overflow:hidden结尾处加空div标签c
- 第二百一十六节 JSF教程 - JSF基本标签、JSF表单文本框示例
程序猿小D
开发语言java反射jvmjdkJSF
JSF教程-JSF基本标签JSF提供了一个标准的HTML标签库,它们被渲染成相应的html输出。为了使用这些标签,我们需要在html节点中使用以下URI的命名空间。JSF基本标签以下是JSF2.0中的重要基本标签。标签描述h:inputTexttype=“text"的HTML输入,文本框。h:inputSecrettype=“password"的HTML输入,文本框。h:inputTextarea
- html实现粘贴excel数据,在页面表格中复制
搬砖的小白
前端
录入数据时,有时候需要把excel中的数据一条条粘贴到页面中,当数据量过多时,这种操作很令人崩溃。本篇文章实现了从excel复制好多行数据后,可在页面粘贴的功能具体实现代码可编辑表格#textarea{width:80%;min-height:100px;border:1pxsolid#ccc;}table{width:100%;border-collapse:collapse;}th,td{bo
- Django----Form的来龙去脉(-)使用篇
墨痕_777
python
Django----Form的来龙去脉(-)使用篇(注:个人学习总结,仅供参考)####Form表单的功能自动生成HTML表单元素检查表单数据的合法性如果验证错误,重新显示表单(数据不会重置)数据类型转换(字符类型的数据转换成相应的Python类型)####Form相关的对象包括Widget:用来渲染成HTML元素的工具,如:forms.Textarea对应HTML中的标签Field:Form对象
- vue08 基础-表单输入绑定
斯诺斯诺斯诺_c21f
你可以用v-model指令在表单、及元素上创建双向数据绑定。▲v-model会忽略所有表单元素的value、checked、selectedattribute的初始值而总是将Vue实例的数据作为数据来源。你应该通过JavaScript在组件的data选项中声明初始值。v-model在内部为不同的输入元素使用不同的属性并抛出不同的事件:text和textarea元素使用value属性和input
- fastclick在IOS11.3以上textarea点击失效问题
一刀准
在ios11.3以上非第一次快速点击textarea出现失效的情况.后续在https://github.com/ftlabs/fastclick/issues/548找到解决办法打开fastclick.js源码,接近332行左右添加如下图就可以解决.本文章只作为个人记录.
- 关于TagHelper的那些事情——Microsoft.AspNet.Mvc.TagHelpers介绍
weixin_30493321
测试javascriptViewUI
写在开始在上一篇文章中,简单介绍了什么是TagHelper,怎么使用它。接下来我会简单介绍一下微软随着ASP.NET5一起发布的TagHelpers。它们分别是:AnchorTagHelperCacheTagHelperEnvironmentTagHelperInputTagHelperLabelTagHelperSelectTagHelperOptionTagHelperTextAreaTagH
- react之旅(六)约束性和非约束性组件 input text radio select checkbox textarea 以及获取表单的内容
一天一丢丢
reactreact
一、约束性组件和非约束性组件1.1非约束性组件非约束性组件这样写:这里的defaultValue就是原生DOM的value,用户输入的值就是vaule的值,react完全不管输入的过程。1.2约束性组件约束性组件这样写:onChange=(e)=>{letdom=e.target;this.setState({name:dom.value})}这个时候,value的值不是用户输入的值,而是this
- 实现前端点击按钮自动复制剪贴板功能
一郭鲜
复制忽略css//定义函数window.Clipboard=(function(window,document,navigator){vartextArea,copy;//判断是不是ios端functionisOS(){returnnavigator.userAgent.match(/ipad|iphone/i);}//创建文本元素functioncreateTextArea(text){text
- javaScript和jQuery获取、设置textarea标签的内容(常见问题)
才艺のblog
javascriptjquery开发语言
javaScript和jQuery获取、设置textarea标签的内容(取值和赋值)昨天晚上在写代码的时候前端遇到一个bug,在js取值textarea中,我使用了getElementById方法对textarea标签取值,但不论如何取值,始终无法成功取到页面上输入的值并进行Ajax请求,一开始以为是ajax与后端接口之间数据传输出问题了,后来经过排查,就是对于textarea标签取值失败的问题,
- 斗鱼自动发弹幕
Zzexi
js脚本语言
斗鱼自动发弹幕斗鱼自动发弹幕,复制到控制台运行即可(function(){var_timer_=null;varspred=['.','.','.','.','.'];varstart=1;//加载样式varfixInp=document.createElement('textarea');varfixSend=document.createElement('input');varfixStop=
- 前端开发常用技巧(update...)
一只程序猿小白
EchartsJavaScriptcssjavascriptcsshtmlvue.js前端
前端开发常用技巧JS1、JavaScript删除子节点的方法2、JS动态生成div并添加点击事件CSS1、文本溢出处理2、使用伪类添加下划线3、使用伪类添加下划线下划线居中4、输入框默认字体颜色5、CSS画梯形6、uni-app中textarea中的字数限制问题7、设置Input的placeholder的字体样式Echarts1、ECharts柱状图设置立体圆柱型2、ECharts柱状图柱体颜色渐
- 设置textarea禁止拉伸的方法: resize:none 221106笔记
kfepiza
HTMLCSSJS前端javascriptcss
设置textarea禁止拉伸的方法就是设置css的resize的值为noneresize:noneresize:noneresize:nonestyle=“resize:none”style="resize:none"element.setAttribute(‘style’,‘resize:none’);element.setAttribute('style','resize:none');ele
- 【sgCreateTableColumn】自定义小工具:敏捷开发→自动化生成表格列html代码(表格列生成工具)[基于el-table-column]
你挚爱的强哥
Vue.js自动化运维
源码表格列生成工具字段中文名生成表格列→生成结果复制importpinyinfrom"@/js/pinyin";exportdefault{name:"sgCreateTableColumn",data(){return{textareaValue1:"",textareaValue2:"",};},watch:{textareaValue1(newValue,oldValue){newValue
- html表格标签(下):lable标签,select标签和textara标签
fly in the sky !
前端学习html程序人生
html表格标签(下):lable标签,select标签和textarea标签lable标签搭配input使用,点击label标签就能选中对应的单选/复选框,能够提升用户体验。for属性:指定当前label和哪个相同id的input标签对应(此时点击才是有用的)运行效果:select标签下拉菜单注:option中定义selected="selected"表示默认选中。示例代码:运行效果:默认选择年
- 前端秘法基础式(HTML)(第二卷)
一枕眠秋雨>o<
前端秘法前端html
目录一.表单标签1.表单域2.表单控件2.1input标签2.2label/select/textarea标签2.3无语义标签三.特殊字符一.表单标签用来完成与用户的交互,例如登录系统1.表单域通过action属性,将用户填写的数据转交给服务器2.表单控件2.1input标签type属性:text文本输入框这是标题姓名type=password这种情况下对用户输入的数据具有加密效果type=rad
- textarea 网页文本框在光标处添加内容
未来之窗软件服务
编程html5微信公众平台会员微信模板消息
在前端研发中我们经常需要使用脚本在文本框中插入内容。如果产品要求不能直接插入开始或者尾部,而是要插入到光标位置,此时我们就需要获取光标/光标选中的位置。很多时候,我在格式化文本处需要选择选项,将选择的信息输入到光标位置selectionStart&selectionEnd这两个属性分别对应选中区域的开始位置和结束位置,当没有选中任何内容的时候,两个值相等并且值为光标位置。const未来之窗_光标技
- 解决el-table列中渲染el-input时输入框默认两行
逐梦的蜗牛
问题描述:el-table的列中多个type=''textarea"的el-input,文本框的值不足一行,当可视区域或者分辨率过低时,造成el-input的高度渲染为了两行的高度。造成此问题的原因是:表格和输入框同步渲染。解决方案:将表格和输入框做异步渲染,表格先渲染,输入框延迟渲染。
- 【JavaEE】_HTML常用标签
_周游
JavaEEjava-eehtmljava
目录1.HTML结构2.HTML常用标签2.1注释标签2.2标题标签:h1~h62.3段落标签:p2.4换行标签:br2.5格式化标签2.6图片标签:img2.7超链接标签:a2.8表格标签2.9列表标签2.10表单标签2.10.1input标签2.10.2下拉菜单标签:select2.10.3多行编辑框标签:textarea2.11无语义标签1.HTML结构HTML用于描述网页骨架,是一个标签化
- CSS必看知识整理
24e2785df9d3
学前端的一点css笔记,参考的是黑马程序员pink老师的教程。一.行内元素1.一行可以显示多个2.宽度核高度默认由内容撑开3.不可以设置宽高代表标签:a、span、b、ui、s、strong、ins、em、del二、行内块元素1.一行可以显示多个2.可以设置宽高代表标签:input、textarea(文本框)、button、select三、元素显示模式转换display:block转换成块级元素d
- cocoscreator网页cope,复制到粘贴板,直接调用就可以,ts忽略报错
浪荡少年
/***复制网页字符串*/publicstaticwebCopyString(str,errFunc:Function,successFunc:Function){varinput=str;constel=document.createElement('textarea');el.value=input;el.setAttribute('readonly','');el.style.contain
- 一键复制多行数据
寂静狂想曲
javascript前端
react项目后台一键复制多行数据需求,例:姓名:小明性别:男,偶像:奥特曼同步复制/***复制文本到剪切板中**@export*@param{*}value需要复制的文本*@param{*}cb复制成功后的回调*/functioncopy(value,cb){//动态创建textarea标签consttextarea=document.createElement('textarea')//将该t
- JS实现一键复制、选中复制、选中多行复制
六卿
#jsjavascript前端js复制js选中复制复制粘贴
JS实现一键复制首先我们准备一份通用的一键复制代码:exportfunctioncopyTextFun(text){if(!text)returnfalsevartextarea=document.createElement('textarea')textarea.value=textdocument.body.appendChild(textarea)textarea.select()messa
- input textarea 中的placeholder样式
天天向上er
前面写上input/textarea后面跟上下面:::-webkit-input-placeholder{/*WebKitbrowsers*/color:#999;font-size:16px;}:-moz-placeholder{/*MozillaFirefox4to18*/color:#999;font-size:16px;}::-moz-placeholder{/*MozillaFirefo
- vue实现手动动态挂载某个组件
润清
前端业务实际问题vue手动挂载动态挂载异步组件
我们在开发中,可能会碰到这样的情况:我们需要在某个时刻在一个动态生成的元素上挂载某个组件,那么我们该怎么实现呢?例如,我们在点击按钮之后,在某个div上手动挂载一个组件。importVuefrom'vue'importtextAreafrom'./TextInput.vue'functionhandleClick(){//获取容器divletcontainer=document.getElemen
- 【React】如何使antd禁用状态的表单输入组件响应点击事件?
mytac
问题记录reactantdreact.js
最近遇到一个需求,需要在组件中,设置属性disabled为true,使textarea响应点击事件,但直接绑定onClick并不会在禁用状态下被响应。解决方法1之后尝试了很多方法,比如设置csspointer-events:none,给textarea添加onMouseClick事件,在textarea父级套一层div,设置禁止向下传播均无效。但自己在原生textarea上启用pointer-ev
- jsonp 常用util方法
hw1287789687
jsonpjsonp常用方法jsonp callback
jsonp 常用java方法
(1)以jsonp的形式返回:函数名(json字符串)
/***
* 用于jsonp调用
* @param map : 用于构造json数据
* @param callback : 回调的javascript方法名
* @param filters : <code>SimpleBeanPropertyFilter theFilt
- 多线程场景
alafqq
多线程
0
能不能简单描述一下你在java web开发中需要用到多线程编程的场景?0
对多线程有些了解,但是不太清楚具体的应用场景,能简单说一下你遇到的多线程编程的场景吗?
Java多线程
2012年11月23日 15:41 Young9007 Young9007
4
0 0 4
Comment添加评论关注(2)
3个答案 按时间排序 按投票排序
0
0
最典型的如:
1、
- Maven学习——修改Maven的本地仓库路径
Kai_Ge
maven
安装Maven后我们会在用户目录下发现.m2 文件夹。默认情况下,该文件夹下放置了Maven本地仓库.m2/repository。所有的Maven构件(artifact)都被存储到该仓库中,以方便重用。但是windows用户的操作系统都安装在C盘,把Maven仓库放到C盘是很危险的,为此我们需要修改Maven的本地仓库路径。
- placeholder的浏览器兼容
120153216
placeholder
【前言】
自从html5引入placeholder后,问题就来了,
不支持html5的浏览器也先有这样的效果,
各种兼容,之前考虑,今天测试人员逮住不放,
想了个解决办法,看样子还行,记录一下。
【原理】
不使用placeholder,而是模拟placeholder的效果,
大概就是用focus和focusout效果。
【代码】
<scrip
- debian_用iso文件创建本地apt源
2002wmj
Debian
1.将N个debian-506-amd64-DVD-N.iso存放于本地或其他媒介内,本例是放在本机/iso/目录下
2.创建N个挂载点目录
如下:
debian:~#mkdir –r /media/dvd1
debian:~#mkdir –r /media/dvd2
debian:~#mkdir –r /media/dvd3
….
debian:~#mkdir –r /media
- SQLSERVER耗时最长的SQL
357029540
SQL Server
对于DBA来说,经常要知道存储过程的某些信息:
1. 执行了多少次
2. 执行的执行计划如何
3. 执行的平均读写如何
4. 执行平均需要多少时间
列名 &
- com/genuitec/eclipse/j2eedt/core/J2EEProjectUtil
7454103
eclipse
今天eclipse突然报了com/genuitec/eclipse/j2eedt/core/J2EEProjectUtil 错误,并且工程文件打不开了,在网上找了一下资料,然后按照方法操作了一遍,好了,解决方法如下:
错误提示信息:
An error has occurred.See error log for more details.
Reason:
com/genuitec/
- 用正则删除文本中的html标签
adminjun
javahtml正则表达式去掉html标签
使用文本编辑器录入文章存入数据中的文本是HTML标签格式,由于业务需要对HTML标签进行去除只保留纯净的文本内容,于是乎Java实现自动过滤。
如下:
public static String Html2Text(String inputString) {
String htmlStr = inputString; // 含html标签的字符串
String textSt
- 嵌入式系统设计中常用总线和接口
aijuans
linux 基础
嵌入式系统设计中常用总线和接口
任何一个微处理器都要与一定数量的部件和外围设备连接,但如果将各部件和每一种外围设备都分别用一组线路与CPU直接连接,那么连线
- Java函数调用方式——按值传递
ayaoxinchao
java按值传递对象基础数据类型
Java使用按值传递的函数调用方式,这往往使我感到迷惑。因为在基础数据类型和对象的传递上,我就会纠结于到底是按值传递,还是按引用传递。其实经过学习,Java在任何地方,都一直发挥着按值传递的本色。
首先,让我们看一看基础数据类型是如何按值传递的。
public static void main(String[] args) {
int a = 2;
- ios音量线性下降
bewithme
ios音量
直接上代码吧
//second 几秒内下降为0
- (void)reduceVolume:(int)second {
KGVoicePlayer *player = [KGVoicePlayer defaultPlayer];
if (!_flag) {
_tempVolume = player.volume;
- 与其怨它不如爱它
bijian1013
选择理想职业规划
抱怨工作是年轻人的常态,但爱工作才是积极的心态,与其怨它不如爱它。
一般来说,在公司干了一两年后,不少年轻人容易产生怨言,除了具体的埋怨公司“扭门”,埋怨上司无能以外,也有许多人是因为根本不爱自已的那份工作,工作完全成了谋生的手段,跟自已的性格、专业、爱好都相差甚远。
- 一边时间不够用一边浪费时间
bingyingao
工作时间浪费
一方面感觉时间严重不够用,另一方面又在不停的浪费时间。
每一个周末,晚上熬夜看电影到凌晨一点,早上起不来一直睡到10点钟,10点钟起床,吃饭后玩手机到下午一点。
精神还是很差,下午像一直野鬼在城市里晃荡。
为何不尝试晚上10点钟就睡,早上7点就起,时间完全是一样的,把看电影的时间换到早上,精神好,气色好,一天好状态。
控制让自己周末早睡早起,你就成功了一半。
有多少个工作
- 【Scala八】Scala核心二:隐式转换
bit1129
scala
Implicits work like this: if you call a method on a Scala object, and the Scala compiler does not see a definition for that method in the class definition for that object, the compiler will try to con
- sudoku slover in Haskell (2)
bookjovi
haskellsudoku
继续精简haskell版的sudoku程序,稍微改了一下,这次用了8行,同时性能也提高了很多,对每个空格的所有解不是通过尝试算出来的,而是直接得出。
board = [0,3,4,1,7,0,5,0,0,
0,6,0,0,0,8,3,0,1,
7,0,0,3,0,0,0,0,6,
5,0,0,6,4,0,8,0,7,
- Java-Collections Framework学习与总结-HashSet和LinkedHashSet
BrokenDreams
linkedhashset
本篇总结一下两个常用的集合类HashSet和LinkedHashSet。
它们都实现了相同接口java.util.Set。Set表示一种元素无序且不可重复的集合;之前总结过的java.util.List表示一种元素可重复且有序
- 读《研磨设计模式》-代码笔记-备忘录模式-Memento
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.util.ArrayList;
import java.util.List;
/*
* 备忘录模式的功能是,在不破坏封装性的前提下,捕获一个对象的内部状态,并在对象之外保存这个状态,为以后的状态恢复作“备忘”
- 《RAW格式照片处理专业技法》笔记
cherishLC
PS
注意,这不是教程!仅记录楼主之前不太了解的
一、色彩(空间)管理
作者建议采用ProRGB(色域最广),但camera raw中设为ProRGB,而PS中则在ProRGB的基础上,将gamma值设为了1.8(更符合人眼)
注意:bridge、camera raw怎么设置显示、输出的颜色都是正确的(会读取文件内的颜色配置文件),但用PS输出jpg文件时,必须先用Edit->conv
- 使用 Git 下载 Spring 源码 编译 for Eclipse
crabdave
eclipse
使用 Git 下载 Spring 源码 编译 for Eclipse
1、安装gradle,下载 http://www.gradle.org/downloads
配置环境变量GRADLE_HOME,配置PATH %GRADLE_HOME%/bin,cmd,gradle -v
2、spring4 用jdk8 下载 https://jdk8.java.
- mysql连接拒绝问题
daizj
mysql登录权限
mysql中在其它机器连接mysql服务器时报错问题汇总
一、[running]
[email protected]:~$mysql -uroot -h 192.168.9.108 -p //带-p参数,在下一步进行密码输入
Enter password: //无字符串输入
ERROR 1045 (28000): Access
- Google Chrome 为何打压 H.264
dsjt
applehtml5chromeGoogle
Google 今天在 Chromium 官方博客宣布由于 H.264 编解码器并非开放标准,Chrome 将在几个月后正式停止对 H.264 视频解码的支持,全面采用开放的 WebM 和 Theora 格式。
Google 在博客上表示,自从 WebM 视频编解码器推出以后,在性能、厂商支持以及独立性方面已经取得了很大的进步,为了与 Chromium 现有支持的編解码器保持一致,Chrome
- yii 获取控制器名 和方法名
dcj3sjt126com
yiiframework
1. 获取控制器名
在控制器中获取控制器名: $name = $this->getId();
在视图中获取控制器名: $name = Yii::app()->controller->id;
2. 获取动作名
在控制器beforeAction()回调函数中获取动作名: $name =
- Android知识总结(二)
come_for_dream
android
明天要考试了,速速总结如下
1、Activity的启动模式
standard:每次调用Activity的时候都创建一个(可以有多个相同的实例,也允许多个相同Activity叠加。)
singleTop:可以有多个实例,但是不允许多个相同Activity叠加。即,如果Ac
- 高洛峰收徒第二期:寻找未来的“技术大牛” ——折腾一年,奖励20万元
gcq511120594
工作项目管理
高洛峰,兄弟连IT教育合伙人、猿代码创始人、PHP培训第一人、《细说PHP》作者、软件开发工程师、《IT峰播》主创人、PHP讲师的鼻祖!
首期现在的进程刚刚过半,徒弟们真的很棒,人品都没的说,团结互助,学习刻苦,工作认真积极,灵活上进。我几乎会把他们全部留下来,现在已有一多半安排了实际的工作,并取得了很好的成绩。等他们出徒之日,凭他们的能力一定能够拿到高薪,而且我还承诺过一个徒弟,当他拿到大学毕
- linux expect
heipark
expect
1. 创建、编辑文件go.sh
#!/usr/bin/expect
spawn sudo su admin
expect "*password*" { send "13456\r\n" }
interact
2. 设置权限
chmod u+x go.sh 3.
- Spring4.1新特性——静态资源处理增强
jinnianshilongnian
spring 4.1
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
- idea ubuntuxia 乱码
liyonghui160com
1.首先需要在windows字体目录下或者其它地方找到simsun.ttf 这个 字体文件。
2.在ubuntu 下可以执行下面操作安装该字体:
sudo mkdir /usr/share/fonts/truetype/simsun
sudo cp simsun.ttf /usr/share/fonts/truetype/simsun
fc-cache -f -v
- 改良程序的11技巧
pda158
技巧
有很多理由都能说明为什么我们应该写出清晰、可读性好的程序。最重要的一点,程序你只写一次,但以后会无数次的阅读。当你第二天回头来看你的代码 时,你就要开始阅读它了。当你把代码拿给其他人看时,他必须阅读你的代码。因此,在编写时多花一点时间,你会在阅读它时节省大量的时间。
让我们看一些基本的编程技巧:
尽量保持方法简短
永远永远不要把同一个变量用于多个不同的
- 300个涵盖IT各方面的免费资源(下)——工作与学习篇
shoothao
创业免费资源学习课程远程工作
工作与生产效率:
A. 背景声音
Noisli:背景噪音与颜色生成器。
Noizio:环境声均衡器。
Defonic:世界上任何的声响都可混合成美丽的旋律。
Designers.mx:设计者为设计者所准备的播放列表。
Coffitivity:这里的声音就像咖啡馆里放的一样。
B. 避免注意力分散
Self Co
- 深入浅出RPC
uule
rpc
深入浅出RPC-浅出篇
深入浅出RPC-深入篇
RPC
Remote Procedure Call Protocol
远程过程调用协议
它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发