iPhone/android的viewport 禁止页面自动缩放
|
1 |
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, target-densitydpi=device-dpi" /> |
P.S 这个方法在ios10以后无效 属性解释: 1.width width设置viewport的宽度,即iphone最初模拟PC浏览器的宽度,之后iphone会这个宽度展现的页面同比缩放到iphone屏幕上。设置width=device-width后就不会再进行缩放了,因为宽度正好和iphone的宽度相同(前提是没有设置缩放比例)。 2.minimum-scale和maximum-scale 控制用户允许设置的缩放比例的。 3.user-scalable 标识是否允许对页面进行缩放,取值有两个yes和no。设置为no则不允许进行页面缩放了。 4.initial-scale 设置用户最初看到页面时的缩放比例。 5.target-densitydpi Android 浏览器所需要的,因为 Android 硬件设备标准不一, 其中同样物理尺寸的屏幕,可能因为 dpi 的不同而具有不同的分辨率, Android 浏览器默认会缩放页面以便最好地呈现, 可惜和 Java 的垃圾回收一样,它很难做到"最好"。所以最好还是人工指定吧。 target-densitydpi 可以设定的值 device-dpi – 设备本身的像素 high-dpi -用高像素,中低像素屏幕适当缩小。 medium- 中等像素,高的屏幕放大,低的变小是默认值 low-dpi – 低像素,中高像素会适当变大。 from:http://t.zoukankan.com/bugs-p-3139811.html
View Detailsh5使用js调用打电话&使用a标签调用打电话和发短信
直接贴代码了: js调用
|
1 |
window.location.href = "tel:要拨打的电话号码"; |
a标签调用
|
1 2 3 4 5 |
<meta name="format-detection" content="telephone=yes"/> <a href="tel:要拨打的电话号码">点击打电话噢~</a> <a href="sms:要发短信的电话号码">发短信</a> |
from:https://blog.csdn.net/qq_42817227/article/details/102569519
View Detailsh5调用手机打电话功能
|
1 2 |
head 里面加上: <meta name="format-detection" content="telephone=yes"/> |
|
1 2 |
需要拨打电话的地方: <a href="tel:400-0000-677">400-0000-688</a> |
|
1 2 |
发短信: <a href="sms:155********">发短信</a> |
点击页面上的电话号码 ,页面会调用手机的电话接口。 from:https://blog.csdn.net/baidu_39043816/article/details/108318327
View Detailsjava 使用 fastJson dom4j 包 xml 转 json
网上教程一大堆,简单直接能用的,不多,各种都是解析出来千奇百怪,后来研究了一下,主要问题其实就出在于xml文件,一个节点是对象还是列表,这个不太好区分,如果本身是列表,但是这个列表只有一条数据,这种情况就是容易误判了。
View DetailsUML建模系列文章总结
1997年,OMG组织(Object Management Group对象管理组织)发布了统一建模语言(Unified Modeling Language,UML)。UML的目标之一就是为开发团队提供标准通用的设计语言来开发和构建计算机应用。UML提出了一套IT专业人员期待多年的统一的标准建模符号。通过使用UML,这些人员能够阅读和交流系统架构和设计规划--就像建筑工人多年来所使用的建筑设计图一样。
View Details整个站点默认禁用 Session,而某个页面不禁用的做法
正确的做法:
<configuration>
<system .web>
<pages enableSessionState="false"></pages>
</system>
</configuration>
这样整个站点的页面默认是不打开Session的。
在你需要的页面的 使用如下 Page 设置
< %@ Page EnableSessionState="True"%>
或者在你需要打开Session的目录下,设置一个 web.config
<configuration>
<system .web>
<pages enableSessionState="true"></pages>
</system>
</configuration>
ASP.NET修改ASP.NET_SessionId头部隐藏开发语言
<system.web>
<sessionState cookieName="SessID" />
</system.web>
npm常用命令
1. 创建一个文件包
2. npm init
3. 创建一个index.js 文件,并写入一些要实现的代码
4. npm install -g
5. npm link
6. npm login
7. npm publish
8. npm publish --registry=https://指定你要推送的包管理库
9. npm version patch // 更新版本
10. npm update gulp //可以把当前目录下node_modules子目录里边的对应模块更新至最新版本
11. npm unpublish npmhswcommonwei@1.0.2 // 可以撤销发布自己发布过的某个版本代码
微信小程序跳转外部链接
微信小程序跳转外部链接 在开发小程序过程中,我们可能会有这样的需求,在小程序中打开H5或者外部链接 实现方法如下: 1、配置业务域名 小程序管理后台——开发(开发管理)——开发设置:新增业务域名 在这里将你需要的外部链接域名配置完之后,再下载校验文件(校验文件需要放到当前域名的根目录下) 2、不勾选 “不校验合法域名” 开发者工具进行 “不校验合法域名”配置 3、刷新项目配置 4、打开外部链接 以上操作均完成之后,便可以打开外部链接
|
1 |
<web-view src="{{src}}"> </web-view> |
情况1:外部链接没有带参数
|
1 2 3 4 5 6 |
//跳转前处理外部链接 handlePdf(e){ wx.navigateTo({ url: '../../outer/outer?src='+e.currentTarget.dataset.url+'&title=合同详情' }) }, |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
//跳转后获取参数 data: { src:"", }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { this.setData({ src:options.src }) //设置当前标题 wx.setNavigationBarTitle({ title: options.title, }) }, |
情况2:外部链接带参数 encodeURIComponent() 函数可把字符串作为 URI 组件进行编码 decodeURIComponent() 函数可对 encodeURIComponent() 函数编码的 URI 进行解码。
|
1 2 3 4 5 6 7 |
//跳转前处理外部链接 handlePdf(e){ let url="https://xxx/#/pdfInfo?url="+e.currentTarget.dataset.url wx.navigateTo({ url: '../../outer/outer?src='+encodeURIComponent(url)+'&title=合同详情' }) }, |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
//跳转后获取参数 data: { src:"", }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { this.setData({ src:decodeURIComponent(options.src) }) //设置当前标题 wx.setNavigationBarTitle({ title: options.title, }) }, |
from:https://blog.csdn.net/weixin_44590591/article/details/124625562
View DetailsJS的实例化方式
模式
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
function obj1(name,age){ this.name=name; this.age=age; this.identity=function(){ var li=document.createElement("p"); var txt=document.createTextNode("白小纯"); li.appendChild(txt); document.body.appendChild(li); } } var person2=new obj1('白小纯',123); person2.identity(); alert(person2.name); |
工厂模式
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
function obj2(){ var lio=new Object(); //创建对象,对象属性赋值 lio.name='lio'; lio.attr='男'; lio.identity=function(){ var li=document.createElement("p"); var txt=document.createTextNode("白小纯"); li.appendChild(txt); document.body.appendChild(li); }; return lio; } var person=obj2(); //alert(person.name); |
原型模式
|
1 2 3 4 5 6 7 8 9 10 11 12 |
function obj3(){ //this.name='lio'; } obj3.prototype.name='lio'; obj3.prototype.identity= function (name) { alert("实际上是"+name); }; var person3=new obj3(); //检测是在实例中还是在原型中 alert(person3.hasOwnProperty("name")); alert(person3.hasOwnProperty("rename")); person3.identity('白小纯'); |
混合模式
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
function obj4(age) { this.age=age; this.rename='aaaa'; }; obj4.prototype={ constructor:obj4, name:'lio', age:123, identity: function (name) { alert(name+"实际上是白小纯"); } }; var person4=new obj4(18); alert(person4.hasOwnProperty("age"));//true person4.identity('lio'); |
from:https://blog.csdn.net/Amouzy/article/details/125974435
View Details