• 每天进步一点点!

文章分类

推荐网站

常用手册

使用JavaScript的JSONP实现跨域访问【原创】

 

JSON 是用于在浏览器和服务器之间交换信息的轻量级数据格式(与 XML 相比)。JOSON 依赖于 JavaScript 开发人员,因为它是 JavaScript 对象的字符串表示。JSONP广泛应用于跨站调用json数据的API当中。

 

一般来说位于 server1.example.com 的网页无法与不是 server1.example.com 的服务器沟通,而 HTML 的 <script> 元素是一个例外。利用 <script> 元素的这个开放策略,网页可以得到从其他来源动态产生的 JSON 资料,而这种使用模式就是所谓的 JSONP。

 

下面看一个JSONP的简单实例吧。

 

服务器端的脚本实现(PHP):http://www.test.com/index.php

<?php
header("Content-Type: text/html; charset=UTF-8");
$student_info = array(
	'name' => 'fisher',
	'sex'=>1,
	'age'=>20
);
echo $_GET['callback'] . '(' . json_encode($student_info) . ');';

 

客户端脚本实现(javascript ):file:///C:/Users/fisher/Desktop/index.html

<script type="text/javascript">
function studentInfo(data) {
	alert(data.name);
}
</script>
<script type="text/javascript" src="http://www.test.com/index.php?callback=studentInfo"></script>

 

下面是利用JQuery实现的JSONP

类别:JavaScript | 浏览(92) | 评论(0) | 阅读全文>>

JavaScrit的Number()和parseInt()区别【原创】

  • 在转换空字符串或null时,Number()会返回0;parseInt()会返回NAN
alert("Number: " + Number(null)); //0
alert("parseInt: " + parseInt(null));//NaN
alert("Number: " + Number(null)); //0
alert("parseInt: " + parseInt(null));//NaN

 

  • 如果前几个字符是数字字符,后面跟着几个非数字字符, parseInt()只会返回前几个数字字符,后面的非数字字符会被忽略;而Number()会返回NAN
alert("parseInt: " + parseInt('123hello'));//123
alert("Number: " + Number('123hello'));//NaN

 

  • 注意:如果是浮点数如:"1.23"或1.23,Number()会返回1.23,而parseInt()会返回1,他把小数点当做的非数字字符。
alert("parseInt: " + parseInt(1.23)); //1
alert("Number: " + Number(1.23));//1.23
alert("parseInt: " + parseInt("1.23"));//1
alert("Number: " + Number("1.23"));//1.23

 

  • 如果字符串中的第一个字符是数字字符,parseInt()也能识别出各种正数格式(即十进制,二进制,八进制,十六进制);对于二进制,八进制Number()则会忽略字符串的前导0,输出后面的数字,对于十六进制,Number()会转换为十进制。
alert("parseInt: " + parseInt('0101')); //65
alert("Number: " + Number('0101'));//101
alert("parseInt: " + parseInt('070')); //56
alert("Number: " + Number('070')); //70
alert("parseInt: " + parseInt('0xf0')); //240
alert("Number: " + Number('0xf0'));//240

 

类别:JavaScript | 浏览(105) | 评论(0) | 阅读全文>>

网站前端和后台性能优化的34条经验和方法【转载】

1 减少HTTP请求数量 (Minimize HTTP Requests)

tag:content

 

80%的用户响应时间被花费在前端,而这其中的绝大多数时间是用于下载页面中的图片、样式表、脚本以及Flash这些组件。减少这些组件的数量就可以减少展示页面所需的请求数,而这是提高网页响应速度的关键。

朴素的页面设计当然是减少组件的一种途径,但有没有能兼顾丰富的页面内容和快速的响应速度的方法呢?下面就是一些不错的技巧,能在提供丰富的页面展现的同时,减少Http请求数量:

合并文件,通过把所有脚本置于一个脚本文件里或者把所有样式表放于一个样式表文件中,从而减少Http请求的数量。当不同页面需要应用不同的脚本或样式时,合并这些文件会是一个很大的挑战,不过在发布网站时进行这种合并,将是提高网站响应速度的重要一步。

 

CSS Sprites是减少图片请求的首选方案。把所有的背景图片合并到一张图中,使用CSS的background-image 和background-position 属性去控制展现恰当的图片区域。

 

Image maps把多张图片组合成为一张图片。图片的总大小是不变的,但减少Http请求数会提高页面的响应速度。Image maps只能用于图片在网页中相邻的情况,比如导航条。制定image maps中的图片坐标是个很麻烦的过程,而且容易出错。同时给导航使用image maps也并不易读,所以并不推荐使用。

类别:JavaScript | 浏览(89) | 评论(0) | 阅读全文>>