`
liuguofeng
  • 浏览: 450540 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

WebApp 开发中常用的代码片段

 
阅读更多

其实这里面的多数都是 iOS 上面的代码。其他平台的就没有去验证了。

HTML, 从HTML文档的开始到结束排列:

<meta name=”viewport” content=”width=device-width, initial-scale=1.0″/> 让内容的宽度自适应为设备的宽度, 在做Mobile Web时必须加的一条

<meta name=”format-detection” content=”telephone=no”]]> 禁用手机号码链接(for iPhone)

<link rel=”apple-touch-icon” href=”icon.png”/> 设置你网页的图标, 尺寸为57X57 px

<!– iOS 2.0+: tell iOS not to apply any glare effects to the icon –>

<link rel=”apple-touch-icon-precomposed” href=”icon.png”/>

<!– iOS 4.2+ icons for different resolutions –>

<link rel=”apple-touch-icon” sizes=”72×72″ href=”touch-icon-ipad.png” />

<link rel=”apple-touch-icon” sizes=”114×114″ href=”touch-icon-iphone4.png” />

<link rel=”apple-touch-startup-image” href=”startup.png”> 全屏启动时候的启动画面图像, 尺寸320X460 px

<meta name=”apple-mobile-web-app-capable” content=”yes” /> 是否允许全屏显示, 只有在桌面启动时可用

<meta name=”apple-mobile-web-app-status-bar-style” content=”black” /> 控制全屏时顶部状态栏的外观, 默认白色

<input autocorrect=”off” autocomplete=”off” autocapitalize=”off”>  取消自动完成, 自动大写单词字母(适用于Mobile上)

<input type=”text” x-webkit-speech /> 语音输入

<input type=”file” accept = “image ::-webkit-scrollbar { width: 12px; } ::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); -webkit-border-radius: 10px; border-radius: 10px; } ::-webkit-scrollbar-thumb { -webkit-border-radius: 10px; border-radius: 10px; background: rgba(255,0,0,0.8); -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5); } ::-webkit-scrollbar-thumb:window-inactive { background: rgba(255,0,0,0.4); }

-webkit-background-composite: plus-darker; -webkit-background-composite用来设置一个元素的背景或颜色的组合样式

-webkit-text-stroke:  1px rgba(0,0,0,0.5); -webkit-text-stroke可以用来给文字添加描边

-webkit-mask-image:  url(/path/to/mask.png); 定义一个图片用来遮罩元素

-webkit-box-reflect:  below 5px; 定义了一个元素的反射

:local-link {font-weight: normal;}  local-link可以定义相对地址的链接样式

Javascript:

window.scrollTo(0,0); 隐藏地址栏

window.matchMedia(); 匹配媒体

navigator.connection; 决定手机是否运行在WiFi/3G等网络

window.devicePixelRatio; 决定屏幕分辨率(iPhone 4值为2, 而Nexus One值为1.5)

window.navigator.onLine; 取得网络连接状态

window.navigator.standalone; 决定iPhone是否处于全屏状态

touch事件 (iOS, Android 2.2+): touchstart, touchmove, touchend, touchcancel

gesture事件 (Apple only, iOS 2+):  gesturestart, gesturechange, gesturend give access to predefined gestures (rotation, scale, position)

window.addEventListener("orientationchange", function(e){ //window.orientation(0 is portrait, 90 and -90 are landscape) }, false); window.addEventListener("deviceorientation", function(e){ //e.alpha //e.beta //e.gamma }, false); window.addEventListener("devicemotion", function(e){ //e.accelerationIncludingGravity.x //e.accelerationIncludingGravity.y //e.accelerationIncludingGravity.z }, false);

requestAnimationFrame() 新的动画函数

element.webkitRequestFullScreen() 调用全屏函数

 

1、-webkit-tap-highlight-color:rgba(255,255,255,0)可以同时屏蔽ios和android下点击元素时出现的阴影。

备注:transparent的属性值在android下无效。
2、-webkit-appearance:none可以同时屏蔽输入框怪异的内阴影。
3、-webkit-transform:translate3d(0, 0, 0)在ios下可以让动画更加流畅(这个属性会调用硬件加速模式),但是在android下不可乱用,很多见所未见的bug就是因为这个。
4、@-webkit-keyframes可以预定义很多你所想到的动画,然后通过-webkit-transition来调用。
5、-webkit-background-size可以做高清图标,不过一些低版本的android只能识别background-size,所以有必要两个都要写上;用这个属性的时候推荐树勇cover这个值,可以自动去匹配宽和高。
6、text-shadow多用这个属性,可以美化文字效果。
7、border-radius、box-shadow、gradient、border-image,不解释,可以精简代码。
8、android、ios4及以下,固定宽/高块级元素的overflow:scroll/auto失效,属于浏览器的bug,可借助第三方工具实现。
9、ios5+可以通过scrollTo(0,0)来自动隐藏浏览器地址栏。
10、width可是宽度,initial-scale初始化缩放比例,maximum-scale允许用户缩 放的最大比例,minimum-scale允许用户缩放的最小比例,user-scalable是否允许用户缩放。
11、允许用户添加到主屏幕,并提供webapp的支持。
12、css3动画会影响你的自动聚焦,所以自动聚焦要在动画执行之前来做,或者直接舍弃。
13、使用media query适配不同屏幕。
14、如果涉及较多域外链接,DNS Prefetching可以帮你做DNS预解析。
15、如果你希望你的站点更多地在SNS上传播,那么Open Graph Protocol会比较适合你。
16、当用iScroll时候,不能使用:focus{outline:0}伪类,否则滑动会卡。
 
1.当用户tap一个页面元素时,iOS会在元素周围显示橙色的外框,以表明该元素被tap了。如果你想自己实现tap时的响应效果,可以用以下方法“去除”这个高亮效果
.-webkit-tap-highlight-color: rgba(0,0,0,0);

2.禁止用户选择页面文字.

-webkit-user-select: none;

3.如果你响应onclick事件,会发现click事件有大约半秒的延迟,这是因为iOS需要等待一段时间来判断用户是点击还是拖动。如想去掉这个延迟,可以用ontouchstart代替onclick

$(".button").bind("touchstart", handler);

但这样在桌面浏览器中鼠标点击操作就不要用了。没关系,可以做一下判断。

if ('ontouchstart' in window) { // mobile version $(".button").bind("touchstart", handler); } else { // desktop version $(".button").bind("click", handler); }

4.禁止用户拖动页面:

document.ontouchstart = function(e){ e.preventDefault(); } 5.禁用链接弹出窗口
-webkit-touch-callout:none
6.webkit在渲染页面时,会自动调整字体大小,比如横竖屏切换时;
-webkit-text-size-adjust:none;
但是如果设置为none,那么会导致页面的缩放功能不能用,最好办法是
-webkit-text-size-adjust:100%;
分享到:
评论

相关推荐

    sae代码片段,亲自测试

    标题中的“sae代码片段,亲自测试”表明这是一个关于使用Python编写的应用程序,该应用程序是为新浪云服务平台(Sina App Engine,简称SAE)设计的。SAE是一个基于云计算的平台,允许开发者使用Python、Java等语言...

    logforwebViewwebApp用于webView和webApp的log工具

    2. **示例**:演示如何在`webView`或`webApp`中集成和使用这个工具的代码片段。 3. **文档**:详细说明如何安装、配置以及使用`logforWebViewwebApp`,可能包括API参考和最佳实践。 4. **测试**:测试用例,确保工具...

    发布一款为自已使用开发的代码自动生成工具(免费+无源码)

    CodeMaker是一款专为个人开发者设计的轻量级代码自动生成工具,它的主要功能是通过读取数据库结构,利用模板和自定义标签的方式,快速生成代码片段,从而减轻开发者在编码过程中重复劳动的工作量。这款工具尤其适合...

    RESTfulExample Maven Webapp

    在RESTfulExample Maven Webapp中,我们可能会看到如下代码片段: ```java @Path("/greeting") public class GreetingResource { @GET @Produces(MediaType.TEXT_PLAIN) public String sayHello() { return ...

    手机wrap网站元HTML5移动WEBAPP果蔬菜类购物手机模板源码

    虽然没有提供具体的代码片段,但根据描述可以推测这类模板中可能会包含以下几方面的代码: 1. **商品展示**:这部分代码负责将不同的商品信息(如图片、名称、价格等)展示给用户。通常会结合数据库查询结果动态...

    学习中积累的很有用的PB代码

    在“PB-Learn”这个压缩包文件中,可能包含了各种PB编程示例、教程和实用代码片段,这些都是学习PB编程的好资源。通过深入研究这些代码,你可以掌握PB的常用技巧,提高自己的编程能力。例如,你可能会找到如何使用...

    webapp滚动 上下滑动加载数据

    在Web应用程序中,实现"webapp滚动 上下滑动加载数据"功能是一项常见的需求,尤其是在移动端。这个功能使得用户在浏览长列表时无需手动翻页,只需滚动页面即可自动加载更多内容,提供更好的用户体验。这里主要涉及到...

    前端开发是创建WEB页面或APP等前端界面呈现给用户的过程,它涉及到多个方面和关键技术 以下是对前端开发的详细概述: 一、前端

    3. **AI在前端开发中的应用**:利用AI技术自动化部分前端开发任务,如自动生成代码片段、智能布局等,有望进一步提升开发效率。 4. **性能优化**:随着Web应用变得越来越复杂,对性能的要求也越来越高。因此,如何...

    IDEA的开发工具的使用和配置.docx

    Postfix Completion是IDEA的一个智能功能,通过输入关键字后缀,可以快速生成代码片段。 Maven是Java项目管理工具,从官网下载后需要安装并配置环境变量。通过mvn -v检查版本,配置阿里云镜像以加速依赖下载。IDEA...

    HBuilder.zip

    其内置的代码片段库,可以一键插入常用代码结构,节省大量时间。 2. 错误检查:HBuilder具备实时语法检查功能,能迅速发现并指出代码中的错误,防止问题积累,提高代码质量。 3. 打包发布:HBuilder集成了多种打包...

    用HTML5新特性开发移动App_蒋宇捷

    通过执行代码片段如navigator.contacts.find(['name','emails'], success, error, {filter:‘yujie'});,可以实现在移动设备通讯录中搜索特定名字和邮件地址的操作,并在成功找到记录时弹出姓名。 HTML5的其他特性...

    spring3MVC例子代码

    例如,你可以看到如下的控制器代码片段: ```java @Controller public class HelloWorldController { @RequestMapping("/hello") public String sayHello() { return "hello"; } } ``` 在这个例子中,`/hello`...

    autism-center-osijek:自闭症中心osijek webapp的源代码。 内置在火场上的Sapper和Svelte-ce source code

    我们没有所需的人力和专业知识来构建社区可以直接用于构建出色软件的框架和工具,因此,通过开源项目资源,我们希望人们能够找到灵感或代码片段来加快开发速度。 灯塔审核 执照 源代码在MIT:copyright: ,所有媒体...

    前端研发工具篇

    它拥有强大的功能,如语法高亮、代码片段、智能代码补全、Git集成等。VSCode还允许通过扩展市场安装各种插件,以适应不同的开发需求。 2. HBuilder HBuilder是国产的免费前端开发工具,特别适合初学者。它提供了...

    在springboot中前端使用jsp相关代码实现及笔记

    在Spring Boot中集成JSP(JavaServer Pages)用于前端展示是一种常见的实践,尤其在传统的Web开发中。Spring Boot以其简洁的配置和快速的开发效率深受开发者喜爱,而JSP作为服务器端动态页面技术,能够方便地与Java...

    Tapestry开发

    - **用途:**用于插入HTML代码片段到页面中。 - **示例代码:** ```xml ``` **3. Image组件:** - **用途:**用于显示图片。 - **示例代码:** ```xml ``` **4. Conditional组件:** - **用途:**用于...

    SpringMVC ACE Editor Demo

    这个项目为开发者提供了一个起点,可以在此基础上添加更多功能,比如代码验证、错误检测、代码片段管理等。对于初学者,这是一个了解如何将前端组件与后端服务集成的绝佳实践案例。通过研究和理解这个示例,你可以更...

    基于servlet+jsp+mysql+jdbc网上书店系统.zip

    JSP是一种动态网页技术,它允许开发者在HTML代码中嵌入Java代码片段。在本系统中,JSP主要负责展示用户界面和进行简单的数据处理。例如,显示书籍列表、用户注册表单、购物车视图等都可以用JSP来创建。 3. **MySQL...

    AI-DJ-MUSIC-WEBAPP

    例如,React或Vue.js可以用于构建用户界面,它们提供了组件化开发方式,使得代码结构清晰,易于维护。同时,这些框架还提供了状态管理工具,如Redux或Vuex,帮助管理应用的复杂数据流,确保用户操作时数据的一致性。...

Global site tag (gtag.js) - Google Analytics