﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-紫蝶∏飛揚↗-文章分类-JQuery</title><link>http://www.blogjava.net/algz/category/41828.html</link><description>我的QQ群:7101519
专注于前端设计(偏重于程序)的开发</description><language>zh-cn</language><lastBuildDate>Tue, 13 Apr 2010 06:29:10 GMT</lastBuildDate><pubDate>Tue, 13 Apr 2010 06:29:10 GMT</pubDate><ttl>60</ttl><item><title>jQuery的插件cookie 不过好像没有遍历功能</title><link>http://www.blogjava.net/algz/articles/317901.html</link><dc:creator>紫蝶∏飛揚↗</dc:creator><author>紫蝶∏飛揚↗</author><pubDate>Fri, 09 Apr 2010 15:27:00 GMT</pubDate><guid>http://www.blogjava.net/algz/articles/317901.html</guid><wfw:comment>http://www.blogjava.net/algz/comments/317901.html</wfw:comment><comments>http://www.blogjava.net/algz/articles/317901.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/algz/comments/commentRss/317901.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/algz/services/trackbacks/317901.html</trackback:ping><description><![CDATA[jQuery操作cookie的插件,大概的使用方法如下<br />
$.cookie('the_cookie'); //读取Cookie值<br />
$.cookie('the_cookie', 'the_value'); //设置cookie的值<br />
$.cookie('the_cookie', 'the_value', {expires: 7, path: '/', domain: 'jquery.com', secure: true});//新建一个cookie 包括有效期 路径 域名等<br />
$.cookie('the_cookie', 'the_value'); //新建cookie<br />
$.cookie('the_cookie', null); //删除一个cookie
  <img src ="http://www.blogjava.net/algz/aggbug/317901.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/algz/" target="_blank">紫蝶∏飛揚↗</a> 2010-04-09 23:27 <a href="http://www.blogjava.net/algz/articles/317901.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jsonp 进行 Javascript 的跨域数据访问[转]</title><link>http://www.blogjava.net/algz/articles/303638.html</link><dc:creator>紫蝶∏飛揚↗</dc:creator><author>紫蝶∏飛揚↗</author><pubDate>Wed, 25 Nov 2009 07:36:00 GMT</pubDate><guid>http://www.blogjava.net/algz/articles/303638.html</guid><wfw:comment>http://www.blogjava.net/algz/comments/303638.html</wfw:comment><comments>http://www.blogjava.net/algz/articles/303638.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/algz/comments/commentRss/303638.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/algz/services/trackbacks/303638.html</trackback:ping><description><![CDATA[<div wrap="">
<p><br />
</p>
<p>1.JSONP（JSON with
Padding-填充json数据也就是常用的json跨域方式）：利用script标签，通过特定的src地址的调用，来执行一个客户端的js函数，在
服务器端生成相对的数据（json格式）并以参数的形式传递给这个客户端的js函数并执行这个函数，前提是需要服务器端的数据输出支持。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p>2.为什么使用JSONP：由于 JSON 只是一种含有简单括号结构的纯文本，因此许多通道都可以交换 JSON
消息。因为同源策略的限制，我们不能在与外部服务器进行通信的时候使用
XMLHttpRequest。而JSONP是一种可以绕过同源策略的方法，即通过使用 JSON 与 &lt;script&gt;
标记相结合的方法，从服务端直接返回可执行的JavaScript函数调用或者JavaScript对象。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>3.谁在使用JSONP：dojo、JQuery、Youtube GData API 、Google Social Graph API 、Digg API 、GeoNames webservice、豆瓣API、Del.icio.us JSON API等。</p>
<p>------------------------------------------------------------------------------------------------</p>
<p><br />
和 AJAX 一样，JSONP 实际上也是早已存在，只是说法相对比较新颖（貌似也出来很久了）。自 1.2 版本起，JQuery加入了对 JSONP 的支持（<a href="http://docs.jquery.com/Ajax/jQuery.getJSON#urldatacallback">http://docs.jquery.com/Ajax/jQuery.getJSON#urldatacallback</a>）。我们可以很容易的利用 $.getJSON() 方法（或者其它基于 $.ajax() 的方法），来跨域加载 JSON 数据。我参考官网，写了个JQ测试的例子：</p>
<p><strong>a.html</strong></p>
<p>&lt;html&gt;<br />
&lt;head&gt;<br />
&nbsp; &lt;script src="<a href="http://code.jquery.com/jquery-latest.js%22%3E%3C/script">http://code.jquery.com/jquery-latest.js"&gt;&lt;/script</a>&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;script type="text/javascript"&gt;<br />
function do_jsonp() {<br />
&nbsp;&nbsp;&nbsp; $.getJSON("<a href="http://active.zol.com.cn/guofeng/profile2.php?callback">http://active.zol.com.cn/guofeng/profile2.php?callback</a>=?",<br />
&nbsp;&nbsp;&nbsp; function(data) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $('#result').val('My name is: ' + data.nick);<br />
&nbsp;&nbsp;&nbsp; });<br />
}<br />
&lt;/script&gt;<br />
&lt;a href="javascript :do_jsonp();"&gt;Click me&lt;/a&gt;&lt;br /&gt;<br />
&lt;textarea id="result" cols="50" rows="3"&gt;&lt;/textarea&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</p>
<p><strong>profile2.php</strong></p>
<p>&lt;?php<br />
$callback = isset($_GET['callback']) ? $_GET['callback'] : '';<br />
$json = '';</p>
<p>//php数组<br />
$arr = array(<br />
&nbsp;&nbsp;&nbsp;&nbsp; 'name' =&gt; 'lava',<br />
&nbsp;&nbsp;&nbsp;&nbsp; 'nick' =&gt; '比目鱼',<br />
&nbsp;&nbsp;&nbsp;&nbsp; 'contact' =&gt; array(<br />
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;'MSN' =&gt; 'lavaguo#msn.com',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'email' =&gt; 'guo.feng#zol.com.cn',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'website' =&gt; 'http://www.zol.com.cn',<br />
&nbsp;&nbsp;&nbsp;&nbsp; )<br />
&nbsp;);</p>
<p>$arr = gb2312ToUtf8($arr);//中文需要转UTF-8<br />
$json = json_encode($arr);//转成json数组<br />
if (!empty($callback)) {<br />
&nbsp;&nbsp;&nbsp; $json = $callback . '(' . $json . ')';//注意这里的格式，调试时这里费了点时间<br />
}<br />
echo $json;</p>
<p>function gb2312ToUtf8(&amp;$input)<br />
{<br />
&nbsp;&nbsp;&nbsp; if (!is_array($input)) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $input = iconv('GB2312', 'UTF-8', $input);<br />
&nbsp;&nbsp;&nbsp; } else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach ($input as $k=&gt;$v) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gb2312ToUtf8(&amp;$input["$k"]);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; return $input;<br />
}</p>
<p>?&gt;</p>
<p>你可能注意到上面的例子中，url 被写成了<a href="http://active.zol.com.cn/guofeng/profile2.php?callback">http://active.zol.com.cn/guofeng/profile2.php?callback</a>=?，需要说明的是，这个问号会被 jQuery 自动替换为回调函数的函数名（如果是一个匿名函数，JQuery 会自动生成一个带时间戳的函数名）。</p>
<p><strong>总结下JSONP原理：</strong></p>
<p>首先在客户端注册一个callback, 然后把callback的名字传给服务器。</p>
<p>此时，服务器先生成 json 数据。&nbsp;</p>
<p>然后以 javascript 语法的方式，生成一个function , function 名字就是传递上来的参数 jsonp.</p>
<p>最后将 json 数据直接以入参的方式，放置到 function 中，这样就生成了一段 js 语法的文档，返回给客户端。</p>
<p>客户端浏览器，解析script标签，并执行返回的 javascript 文档，此时数据作为参数，传入到了客户端预先定义好的 callback 函数里.（动态执行回调函数）</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 转自:http://blog.zol.com.cn/859/article_858048.html<br />
</p>
</div>
<img src ="http://www.blogjava.net/algz/aggbug/303638.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/algz/" target="_blank">紫蝶∏飛揚↗</a> 2009-11-25 15:36 <a href="http://www.blogjava.net/algz/articles/303638.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JQuery 选择器</title><link>http://www.blogjava.net/algz/articles/296454.html</link><dc:creator>紫蝶∏飛揚↗</dc:creator><author>紫蝶∏飛揚↗</author><pubDate>Fri, 25 Sep 2009 09:35:00 GMT</pubDate><guid>http://www.blogjava.net/algz/articles/296454.html</guid><wfw:comment>http://www.blogjava.net/algz/comments/296454.html</wfw:comment><comments>http://www.blogjava.net/algz/articles/296454.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/algz/comments/commentRss/296454.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/algz/services/trackbacks/296454.html</trackback:ping><description><![CDATA[<p><img alt="" src="http://www.blogjava.net/images/blogjava_net/algz/baseSelector.jpg" width="571" border="0" height="993" /><br />
<img alt="" src="http://www.blogjava.net/images/blogjava_net/algz/layerSelector.jpg" border="0" /><img alt="" src="http://www.blogjava.net/images/blogjava_net/algz/filterSelector.jpg" width="577" height="1083" /><img alt="" src="http://www.blogjava.net/images/blogjava_net/algz/contentSelector.jpg" width="570" height="629" /></p>
<img src ="http://www.blogjava.net/algz/aggbug/296454.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/algz/" target="_blank">紫蝶∏飛揚↗</a> 2009-09-25 17:35 <a href="http://www.blogjava.net/algz/articles/296454.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JQuery 学习</title><link>http://www.blogjava.net/algz/articles/296321.html</link><dc:creator>紫蝶∏飛揚↗</dc:creator><author>紫蝶∏飛揚↗</author><pubDate>Thu, 24 Sep 2009 09:31:00 GMT</pubDate><guid>http://www.blogjava.net/algz/articles/296321.html</guid><wfw:comment>http://www.blogjava.net/algz/comments/296321.html</wfw:comment><comments>http://www.blogjava.net/algz/articles/296321.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/algz/comments/commentRss/296321.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/algz/services/trackbacks/296321.html</trackback:ping><description><![CDATA[(1)<br />
$(...)==JQuery(...)&nbsp;&nbsp;&nbsp; $是JQuery快捷键<br />
JQuery对象: $(...)<br />
DOM对象:&nbsp; document.getElementById("id")/document.getElementByTag("div") <br />
<br />
(2)环境配置<br />
<a href="http://jquery.com/">http://jquery.com/</a>&nbsp;下载JQuery最新版，其中有二个版本，120K的是学习开发版，另一个19K是Gzip压缩后产品项目版（服务器得开启Gzip功能）
<img src ="http://www.blogjava.net/algz/aggbug/296321.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/algz/" target="_blank">紫蝶∏飛揚↗</a> 2009-09-24 17:31 <a href="http://www.blogjava.net/algz/articles/296321.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>