<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SLJ.me - 申力军 &#187; base64</title>
	<atom:link href="http://slj.me/tag/base64/feed/" rel="self" type="application/rss+xml" />
	<link>http://slj.me</link>
	<description>申力军的博客</description>
	<lastBuildDate>Mon, 05 Dec 2011 05:35:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Base64 javascript encode decode 另一种不错的方法</title>
		<link>http://slj.me/2009/04/base64-javascript-encode-decode-2/</link>
		<comments>http://slj.me/2009/04/base64-javascript-encode-decode-2/#comments</comments>
		<pubDate>Thu, 09 Apr 2009 05:36:23 +0000</pubDate>
		<dc:creator>SLJ</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[base64]]></category>
		<category><![CDATA[decode]]></category>
		<category><![CDATA[encode]]></category>

		<guid isPermaLink="false">http://kiya.cn/?p=161</guid>
		<description><![CDATA[JS代码和相应的HTML代码如下： Type in the message you want to encode in base64, or paste base64 encoded text into the text field, select Encode or Decode, and click the button! Related Posts / 相关文章Base64 javascript encode decodeJavaScript 操作select控件大全（新增、修改、删除、选中、清空、判断存在等）[英,转]45个新鲜有用的JS与jQuery技术和工具【好书PDF】：Building iPhone Apps with HTML, CSS, and JavaScriptJS获取浏览器窗口大小 获取屏幕，浏览器，网页高度宽度]]></description>
			<content:encoded><![CDATA[<p>JS代码和相应的HTML代码如下：<br />
<span id="more-161"></span></p>
<pre class="javascript" name="code">
<!--
var keyStr = "ABCDEFGHIJKLMNOP" +
"QRSTUVWXYZabcdef"+
"ghijklmnopqrstuv"+
"wxyz0123456789+/"+
"=";
function encode64(input) {
input = escape(input);
var output = "";
var chr1, chr2, chr3 = "";
var enc1, enc2, enc3, enc4 = "";
var i = 0;
do {
chr1 = input.charCodeAt(i++);
chr2 = input.charCodeAt(i++);
chr3 = input.charCodeAt(i++);
enc1 = chr1 >> 2;
enc2 = ((chr1 &#038; 3) < < 4) | (chr2 >> 4);
enc3 = ((chr2 &#038; 15) < < 2) | (chr3 >> 6);
enc4 = chr3 &#038; 63;
if (isNaN(chr2)) {
enc3 = enc4 = 64;
} else if (isNaN(chr3)) {
enc4 = 64;
}
output = output +
keyStr.charAt(enc1) +
keyStr.charAt(enc2) +
keyStr.charAt(enc3) +
keyStr.charAt(enc4);
chr1 = chr2 = chr3 = "";
enc1 = enc2 = enc3 = enc4 = "";
} while (i < input.length);
return output;
}
function decode64(input) {
var output = "";
var chr1, chr2, chr3 = "";
var enc1, enc2, enc3, enc4 = "";
var i = 0;
// remove all characters that are not A-Z, a-z, 0-9, +, /, or =
var base64test = /[^A-Za-z0-9\+\/\=]/g;
if (base64test.exec(input)) {
alert("There were invalid base64 characters in the input text.\n" +
"Valid base64 characters are A-Z, a-z, 0-9, '+', '/', and '='\n" +
"Expect errors in decoding.");
}
input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
do {
enc1 = keyStr.indexOf(input.charAt(i++));
enc2 = keyStr.indexOf(input.charAt(i++));
enc3 = keyStr.indexOf(input.charAt(i++));
enc4 = keyStr.indexOf(input.charAt(i++));
chr1 = (enc1 << 2) | (enc2 >> 4);
chr2 = ((enc2 &#038; 15) < < 4) | (enc3 >> 2);
chr3 = ((enc3 &#038; 3) < < 6) | enc4;
output = output + String.fromCharCode(chr1);
if (enc3 != 64) {
output = output + String.fromCharCode(chr2);
}
if (enc4 != 64) {
output = output + String.fromCharCode(chr3);
}
chr1 = chr2 = chr3 = "";
enc1 = enc2 = enc3 = enc4 = "";
} while (i < input.length);
return unescape(output);
}
//-->
</pre>
<pre class="html" name="code">
<form name="base64Form">
Type in the message you want to encode in base64, or paste
base64 encoded text into the text field, select Encode or Decode, 
and click the button!
<textarea name="theText" cols="40" rows="6"></textarea>
<input type="button" name="encode" value="Encode to base64"
onClick="document.base64Form.theText.value=encode64(document.base64Form.theText.value);"/>
<input type="button" name="decode" value="Decode from base64"**
onClick="document.base64Form.theText.value=decode64(document.base64Form.theText.value);"/>
</form>
</pre>
<h2  class="related_post_title">Related Posts / 相关文章</h2><ul class="related_post"><li><a href="http://slj.me/2009/03/base64-javascript/" title="Base64 javascript encode decode">Base64 javascript encode decode</a></li><li><a href="http://slj.me/2010/12/javascript-select-operations/" title="JavaScript 操作select控件大全（新增、修改、删除、选中、清空、判断存在等）">JavaScript 操作select控件大全（新增、修改、删除、选中、清空、判断存在等）</a></li><li><a href="http://slj.me/2010/03/45-fresh-useful-javascript-and-jquery-techniques-and-tools/" title="[英,转]45个新鲜有用的JS与jQuery技术和工具">[英,转]45个新鲜有用的JS与jQuery技术和工具</a></li><li><a href="http://slj.me/2010/03/building-iphone-apps-with-html-css-and-javascript/" title="【好书PDF】：Building iPhone Apps with HTML, CSS, and JavaScript">【好书PDF】：Building iPhone Apps with HTML, CSS, and JavaScript</a></li><li><a href="http://slj.me/2010/01/js%e8%8e%b7%e5%8f%96%e6%b5%8f%e8%a7%88%e5%99%a8%e7%aa%97%e5%8f%a3%e5%a4%a7%e5%b0%8f-%e8%8e%b7%e5%8f%96%e5%b1%8f%e5%b9%95%ef%bc%8c%e6%b5%8f%e8%a7%88%e5%99%a8%ef%bc%8c%e7%bd%91%e9%a1%b5%e9%ab%98/" title="JS获取浏览器窗口大小 获取屏幕，浏览器，网页高度宽度 ">JS获取浏览器窗口大小 获取屏幕，浏览器，网页高度宽度 </a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://slj.me/2009/04/base64-javascript-encode-decode-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Base64 javascript encode decode</title>
		<link>http://slj.me/2009/03/base64-javascript/</link>
		<comments>http://slj.me/2009/03/base64-javascript/#comments</comments>
		<pubDate>Sun, 22 Mar 2009 08:35:45 +0000</pubDate>
		<dc:creator>SLJ</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[base64]]></category>
		<category><![CDATA[decode]]></category>
		<category><![CDATA[encode]]></category>

		<guid isPermaLink="false">http://kiya.cn/2009/03/6/</guid>
		<description><![CDATA[平时编程对base64的处理都直接用PHP函数base64_encode()和base64_decode()来实现，如果用JS直接处理的话我还真不知道怎么做。 在网上搜了代码，英文网站的代码一般在汉字处理上decode时会出现乱码，所以最后找到了一个能够兼容汉字的代码。 var BASE64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; var BASE64DecodeChars = new Array( -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, [...]]]></description>
			<content:encoded><![CDATA[<p>平时编程对base64的处理都直接用PHP函数base64_encode()和base64_decode()来实现，如果用JS直接处理的话我还真不知道怎么做。<br />
在网上搜了代码，英文网站的代码一般在汉字处理上decode时会出现乱码，所以最后找到了一个能够兼容汉字的代码。<br />
<span id="more-6"></span></p>
<pre name="code" class="javascript">
<script language=javascript>
<!--
function screncode(s,l)
{enc=new ActiveXObject("Scripting.Encoder");
return enc.EncodeScriptFile("."+l,s,0,l+"cript");
}

var STATE_COPY_INPUT = 100
var STATE_READLEN = 101
var STATE_DECODE = 102
var STATE_UNESCAPE = 103

var pick_encoding = new Array(
1, 2, 0, 1, 2, 0, 2, 0, 0, 2, 0, 2, 1, 0, 2, 0,
1, 0, 2, 0, 1, 1, 2, 0, 0, 2, 1, 0, 2, 0, 0, 2,
1, 1, 0, 2, 0, 2, 0, 1, 0, 1, 1, 2, 0, 1, 0, 2,
1, 0, 2, 0, 1, 1, 2, 0, 0, 1, 1, 2, 0, 1, 0, 2
)

var rawData = new Array(
0x64,0x37,0x69, 0x50,0x7E,0x2C, 0x22,0x5A,0x65, 0x4A,0x45,0x72,
0x61,0x3A,0x5B, 0x5E,0x79,0x66, 0x5D,0x59,0x75, 0x5B,0x27,0x4C,
0x42,0x76,0x45, 0x60,0x63,0x76, 0x23,0x62,0x2A, 0x65,0x4D,0x43,
0x5F,0x51,0x33, 0x7E,0x53,0x42, 0x4F,0x52,0x20, 0x52,0x20,0x63,
0x7A,0x26,0x4A, 0x21,0x54,0x5A, 0x46,0x71,0x38, 0x20,0x2B,0x79,
0x26,0x66,0x32, 0x63,0x2A,0x57, 0x2A,0x58,0x6C, 0x76,0x7F,0x2B,
0x47,0x7B,0x46, 0x25,0x30,0x52, 0x2C,0x31,0x4F, 0x29,0x6C,0x3D,
0x69,0x49,0x70, 0x3F,0x3F,0x3F, 0x27,0x78,0x7B, 0x3F,0x3F,0x3F,
0x67,0x5F,0x51, 0x3F,0x3F,0x3F, 0x62,0x29,0x7A, 0x41,0x24,0x7E,
0x5A,0x2F,0x3B, 0x66,0x39,0x47, 0x32,0x33,0x41, 0x73,0x6F,0x77,
0x4D,0x21,0x56, 0x43,0x75,0x5F, 0x71,0x28,0x26, 0x39,0x42,0x78,
0x7C,0x46,0x6E, 0x53,0x4A,0x64, 0x48,0x5C,0x74, 0x31,0x48,0x67,
0x72,0x36,0x7D, 0x6E,0x4B,0x68, 0x70,0x7D,0x35, 0x49,0x5D,0x22,
0x3F,0x6A,0x55, 0x4B,0x50,0x3A, 0x6A,0x69,0x60, 0x2E,0x23,0x6A,
0x7F,0x09,0x71, 0x28,0x70,0x6F, 0x35,0x65,0x49, 0x7D,0x74,0x5C,
0x24,0x2C,0x5D, 0x2D,0x77,0x27, 0x54,0x44,0x59, 0x37,0x3F,0x25,
0x7B,0x6D,0x7C, 0x3D,0x7C,0x23, 0x6C,0x43,0x6D, 0x34,0x38,0x28,
0x6D,0x5E,0x31, 0x4E,0x5B,0x39, 0x2B,0x6E,0x7F, 0x30,0x57,0x36,
0x6F,0x4C,0x54, 0x74,0x34,0x34, 0x6B,0x72,0x62, 0x4C,0x25,0x4E,
0x33,0x56,0x30, 0x56,0x73,0x5E, 0x3A,0x68,0x73, 0x78,0x55,0x09,
0x57,0x47,0x4B, 0x77,0x32,0x61, 0x3B,0x35,0x24, 0x44,0x2E,0x4D,
0x2F,0x64,0x6B, 0x59,0x4F,0x44, 0x45,0x3B,0x21, 0x5C,0x2D,0x37,
0x68,0x41,0x53, 0x36,0x61,0x58, 0x58,0x7A,0x48, 0x79,0x22,0x2E,
0x09,0x60,0x50, 0x75,0x6B,0x2D, 0x38,0x4E,0x29, 0x55,0x3D,0x3F
)

var transformed = new Array()
for (var i=0; i&lt;3; i++) transformed[i] = new Array()
for (var i=31; i<=126; i++) for (var j=0; j&lt;3; j++) transformed[j][rawData[(i-31) * 3 + j]] = (i==31) ? 9 : i

var digits = new Array()
for (var i=0; i&lt;26; i++)
{
digits["A".charCodeAt(0)+i] = i
digits["a".charCodeAt(0)+i] = i+26
}
for (var i=0; i&lt;10; i++) digits["0".charCodeAt(0)+i] = i+52
digits[0x2b] = 62
digits[0x2f] = 63

function unescape(char)
{
var escapes = "#&#038;!*$"
var escaped = "rn<>@"

if (char.charCodeAt(0) > 126) return char
if (escapes.indexOf(char) != -1) return escaped.substr(escapes.indexOf(char), 1)
return "?"
}

function decodeBASE64(string)
{
var val = 0
val += (digits[string.substr(0,1).charCodeAt(0)] < < 2)
val += (digits[string.substr(1,1).charCodeAt(0)] >> 4)
val += (digits[string.substr(1,1).charCodeAt(0)] &#038; 0xf) < < 12
val += ((digits[string.substr(2,1).charCodeAt(0)] >> 2) < < 8)
val += ((digits[string.substr(2,1).charCodeAt(0)] &#038; 0x3) << 22)
val += (digits[string.substr(3,1).charCodeAt(0)] << 16)
return val
}

function strdec(encodingString)
{

var marker = "#@~^"
var stringIndex = 0
var scriptIndex = -1
var unEncodingIndex = 0
var char = null
var encodingLength = unEncodinglength = 0
var state = STATE_COPY_INPUT
var unEncodingString = ""
var re, arr

while(state)
{
switch (state)
{
case (STATE_COPY_INPUT) :
scriptIndex = encodingString.indexOf(marker, stringIndex)
if (scriptIndex != -1)
{
unEncodingString += encodingString.substring(stringIndex, scriptIndex)
scriptIndex += marker.length
state = STATE_READLEN
}
else
{
stringIndex = stringIndex==0 ? 0 : stringIndex
unEncodingString += encodingString.substr(stringIndex, encodingString.length)
state = 0
}
break

case (STATE_READLEN) :
encodingLength = encodingString.substr(scriptIndex, 6)
unEncodinglength = decodeBASE64(encodingLength)
scriptIndex += (6 + "==".length)
state = STATE_DECODE
break

case (STATE_DECODE) :
if (!unEncodinglength)
{
stringIndex = scriptIndex + "DQgAAA==^#~@".length
unEncodingIndex = 0
state = STATE_COPY_INPUT
break
}
char = encodingString.substr(scriptIndex, 1)
if (char == "@") state = STATE_UNESCAPE
else
{
if (char.charCodeAt(0) < 0xFF)
{
unEncodingString += String.fromCharCode(transformed[pick_encoding[unEncodingIndex%64]][char.charCodeAt(0)])
unEncodingIndex++
}
else
{
unEncodingString += char
}
scriptIndex++
unEncodinglength--
break
}

case STATE_UNESCAPE:
unEncodingString += unescape(encodingString.substr(++scriptIndex, 1))
scriptIndex++; unEncodinglength -=2
unEncodingIndex++
state = STATE_DECODE
break
}
}

re = new RegExp("(JScript|VBscript).encode", "gmi")
while(arr = re.exec(unEncodingString)) unEncodingString = RegExp.leftContext + RegExp.$1 + RegExp.rightContext
return unEncodingString
}
//-->
</script>
<script language=javascript>
var BASE64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
var BASE64DecodeChars = new Array(
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63,
52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1,
-1,0,1,2,3,4,5,6,7,8,9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,
-1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1);

function BASE64encode(str) {
var out, i, len;
var c1, c2, c3;

len = str.length;
i = 0;
out = "";
while(i < len) {
c1 = str.charCodeAt(i++) &#038; 0xff;
if(i == len)
{
out += BASE64EncodeChars.charAt(c1 >> 2);
out += BASE64EncodeChars.charAt((c1 &#038; 0x3) < < 4);
out += "==";
break;
}
c2 = str.charCodeAt(i++);
if(i == len)
{
out += BASE64EncodeChars.charAt(c1 >> 2);
out += BASE64EncodeChars.charAt(((c1 &#038; 0x3)< < 4) | ((c2 &#038; 0xF0) >> 4));
out += BASE64EncodeChars.charAt((c2 &#038; 0xF) < < 2);
out += "=";
break;
}
c3 = str.charCodeAt(i++);
out += BASE64EncodeChars.charAt(c1 >> 2);
out += BASE64EncodeChars.charAt(((c1 &#038; 0x3)< < 4) | ((c2 &#038; 0xF0) >> 4));
out += BASE64EncodeChars.charAt(((c2 &#038; 0xF) < < 2) | ((c3 &#038; 0xC0) >>6));
out += BASE64EncodeChars.charAt(c3 &#038; 0x3F);
}
return out;
}

function BASE64decode(str) {
var c1, c2, c3, c4;
var i, len, out;

len = str.length;
i = 0;
out = "";
while(i < len) {
/* c1 */
do {
c1 = BASE64DecodeChars[str.charCodeAt(i++) &#038; 0xff];
} while(i < len &#038;&#038; c1 == -1);
if(c1 == -1)
break;

/* c2 */
do {
c2 = BASE64DecodeChars[str.charCodeAt(i++) &#038; 0xff];
} while(i < len &#038;&#038; c2 == -1);
if(c2 == -1)
break;

out += String.fromCharCode((c1 << 2) | ((c2 &#038; 0x30) >> 4));

/* c3 */
do {
c3 = str.charCodeAt(i++) &#038; 0xff;
if(c3 == 61)
return out;
c3 = BASE64DecodeChars[c3];
} while(i < len &#038;&#038; c3 == -1);
if(c3 == -1)
break;

out += String.fromCharCode(((c2 &#038; 0XF) << 4) | ((c3 &#038; 0x3C) >> 2));

/* c4 */
do {
c4 = str.charCodeAt(i++) &#038; 0xff;
if(c4 == 61)
return out;
c4 = BASE64DecodeChars[c4];
} while(i < len &#038;&#038; c4 == -1);
if(c4 == -1)
break;
out += String.fromCharCode(((c3 &#038; 0x03) << 6) | c4);
}
return out;
}

function utf16to8(str) {
var out, i, len, c;

out = "";
len = str.length;
for(i = 0; i < len; i++) {
c = str.charCodeAt(i);
if ((c >= 0x0001) &#038;&#038; (c < = 0x007F)) {
out += str.charAt(i);
} else if (c > 0x07FF) {
out += String.fromCharCode(0xE0 | ((c >> 12) &#038; 0x0F));
out += String.fromCharCode(0x80 | ((c >>6) &#038; 0x3F));
out += String.fromCharCode(0x80 | ((c >>0) &#038; 0x3F));
} else {
out += String.fromCharCode(0xC0 | ((c >>6) &#038; 0x1F));
out += String.fromCharCode(0x80 | ((c >>0) &#038; 0x3F));
}
}
return out;
}

function utf8to16(str) {
var out, i, len, c;
var char2, char3;

out = "";
len = str.length;
i = 0;
while(i < len) {
c = str.charCodeAt(i++);
switch(c >> 4)
{
case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7:
// 0xxxxxxx
out += str.charAt(i-1);
break;
case 12: case 13:
// 110x xxxx 10xx xxxx
char2 = str.charCodeAt(i++);
out += String.fromCharCode(((c &#038; 0x1F) < < 6) | (char2 &#038; 0x3F));
break;
case 14:
// 1110 xxxx10xx xxxx10xx xxxx
char2 = str.charCodeAt(i++);
char3 = str.charCodeAt(i++);
out += String.fromCharCode(((c &#038; 0x0F) << 12) |
((char2 &#038; 0x3F) << 6) |
((char3 &#038; 0x3F) << 0));
break;
}
}

return out;
}

function doit() {
var f = document.f
if ( f.source.value != '' )
{
f.output.value = BASE64encode(utf16to8(f.source.value))
}
}
function undoit() {
var f = document.f
if ( f.output.value != '' )
{
f.decode.value = utf8to16(BASE64decode(f.output.value))
}
}
</SCRIPT>

</script><script language=JavaScript>
<!--
var Words;

function SetWords(word)
{
Words = word.value;
}

function SetNewWords(form)
{
var NewWords;
NewWords = utf8to16(unescape(Words));
form.NewWords.value = NewWords;
}

function SetNewWords1(form)
{
var NewWords;
NewWords = escape(Words);
form.NewWords.value = NewWords;
}

// -->
</script>
</pre>
<pre name="code" class="html">
<center>
<form name=f>文本原码 Source

<textarea name="source">
</textarea>
BASE64 编码 Encode
<textarea name="output"></textarea>

BASE64 解码 Decode
<textarea name="decode"></textarea>
<input name="button" onclick=doit() type=button value="转换&nbsp;Convert" />
<input name="button" type=button onClick=undoit() value="还原&nbsp;Revert" />
<input name="reset" id="reset" type="reset" value="重置&nbsp;Reset"/>
</form>

</center>
</pre>
<h2  class="related_post_title">Related Posts / 相关文章</h2><ul class="related_post"><li><a href="http://slj.me/2009/04/base64-javascript-encode-decode-2/" title="Base64 javascript encode decode 另一种不错的方法">Base64 javascript encode decode 另一种不错的方法</a></li><li><a href="http://slj.me/2010/12/javascript-select-operations/" title="JavaScript 操作select控件大全（新增、修改、删除、选中、清空、判断存在等）">JavaScript 操作select控件大全（新增、修改、删除、选中、清空、判断存在等）</a></li><li><a href="http://slj.me/2010/03/45-fresh-useful-javascript-and-jquery-techniques-and-tools/" title="[英,转]45个新鲜有用的JS与jQuery技术和工具">[英,转]45个新鲜有用的JS与jQuery技术和工具</a></li><li><a href="http://slj.me/2010/03/building-iphone-apps-with-html-css-and-javascript/" title="【好书PDF】：Building iPhone Apps with HTML, CSS, and JavaScript">【好书PDF】：Building iPhone Apps with HTML, CSS, and JavaScript</a></li><li><a href="http://slj.me/2010/01/js%e8%8e%b7%e5%8f%96%e6%b5%8f%e8%a7%88%e5%99%a8%e7%aa%97%e5%8f%a3%e5%a4%a7%e5%b0%8f-%e8%8e%b7%e5%8f%96%e5%b1%8f%e5%b9%95%ef%bc%8c%e6%b5%8f%e8%a7%88%e5%99%a8%ef%bc%8c%e7%bd%91%e9%a1%b5%e9%ab%98/" title="JS获取浏览器窗口大小 获取屏幕，浏览器，网页高度宽度 ">JS获取浏览器窗口大小 获取屏幕，浏览器，网页高度宽度 </a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://slj.me/2009/03/base64-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

