<?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>散人笔记 &#187; W3C标准</title>
	<atom:link href="http://www.uideas.cn/post/tag/w3c%e6%a0%87%e5%87%86/feed" rel="self" type="application/rss+xml" />
	<link>http://www.uideas.cn</link>
	<description>生活来源于创意,所以我懂生活</description>
	<lastBuildDate>Sun, 22 Aug 2010 07:17:13 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>浅谈关于父页面和子页面相传值的问题</title>
		<link>http://www.uideas.cn/post/206.html</link>
		<comments>http://www.uideas.cn/post/206.html#comments</comments>
		<pubDate>Thu, 07 Jan 2010 19:21:00 +0000</pubDate>
		<dc:creator>kos</dc:creator>
				<category><![CDATA[JAVASCRIPT]]></category>
		<category><![CDATA[iframe]]></category>
		<category><![CDATA[W3C标准]]></category>
		<category><![CDATA[传值]]></category>
		<category><![CDATA[子页面]]></category>
		<category><![CDATA[父页面]]></category>

		<guid isPermaLink="false">http://www.uideas.cn/?p=206</guid>
		<description><![CDATA[　　关于父页面和子页面相传值的问题可能一直困扰着不少人，这在平时的编程中随时都会遇到，在此就本人做ui的经历中遇到过这样的问题做点简单的总结。
　　首先从兼容性方面考虑，由于网民的个人爱好不一样，再加上浏览器的种类和版本的众多……]]></description>
			<content:encoded><![CDATA[<p>　　关于父页面和子页面相传值的问题可能一直困扰着不少人，这在平时的编程中随时都会遇到，在此就本人做ui的经历中遇到过这样的问题做点简单的总结。<br />
　　首先从兼容性方面考虑，由于网民的个人爱好不一样，再加上浏览器的种类和版本的众多，而基本上每种浏览器的内核都不一样，甚至有些并不是完全基于W3C标准，所以有些js的语法在不同的浏览器上就会得到不同的效果，比如在ie6上访问一个对象，那个对象的id是obj,js获取这个对象的时候可以直接就拿obj来用，而火狐等很多浏览器则不能，必须符合W3C标准才行，应该写成document.getElementById(&#8221;obj&#8221;);再比如说求某个节点下面的子节点个数，可以试看下面的代码，在不同浏览器上又有可能不一样<br />
&lt;div id=&#8221;cov&#8221;&gt;<br />
 &lt;li&gt;张三&lt;/li&gt;<br />
 &lt;li&gt;李四&lt;/li&gt;<br />
 &lt;li&gt;王王&lt;/li&gt;<br />
 &lt;li&gt;友意博客&lt;/li&gt;<br />
&lt;/div&gt;<br />
&lt;script type=&#8221;text/javascript&#8221;&gt;<br />
 var bigcov = document.getElementById(&#8221;cov&#8221;);<br />
alert(bigcov.childNodes.length);<br />
&lt;/script&gt;</p>
<p>先不扯远了，其实iframe是个很有用的东西，有很多优点，比如页面而已，跳转，优先级等，关于传值的问题基本上出现在跳转里面，这里先说一点注意，关于有传值的问题，把js代码写到子页面里面是最好不过的了，从父页面获取子页面不是个好办法，但从子页面往父页面传值很容易办到，首先来说，一个父页面可以存在多个子页面，而子页面又是可变的，这里会出现的一个问题马上就来了，看下面的代码<br />
&lt;iframe id=&#8221;parentHTML&#8221; name=&#8221;parentHTML&#8221; src=&#8221;text1.html&#8221;&gt;&lt;/iframe&gt;这里的text1.html里面比如有个id叫text的控件，这时父页面去操作他能办到，但如果有其它链接指向这个iframe,然后另处一个页面里面没有text这个对象，那么父页面再来访问这个对象的时候就报错了，也许另外的这个子页面根本就与你父页面要用到的这个js无关，所以哪个页面与这个js有关，你就把写到那个页面去，比如父页面要用到子页面的text这个文本框的的传，那么你就在子页面把值传给父页面，你先在父页面设一个隐藏的文本，子页面就这样写：parent.document.getElementById(&#8217;obj&#8217;).value=&#8221;你要传的值&#8221;，这样父页面就得到子页面的值了，这样写是因为当前的子页面只承在于一个父页面，在此先就介绍关于iframe的父子传值问题，随后再谈谈关于弹出类的父子传值。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.uideas.cn/post/206.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>js巧用scrollTop属性使滚动条以另一种方式表现（兼容）</title>
		<link>http://www.uideas.cn/post/128.html</link>
		<comments>http://www.uideas.cn/post/128.html#comments</comments>
		<pubDate>Mon, 09 Nov 2009 17:16:49 +0000</pubDate>
		<dc:creator>kos</dc:creator>
				<category><![CDATA[DIV+CSS]]></category>
		<category><![CDATA[JAVASCRIPT]]></category>
		<category><![CDATA[offsetHeight]]></category>
		<category><![CDATA[scrollTop]]></category>
		<category><![CDATA[W3C标准]]></category>
		<category><![CDATA[兼容]]></category>
		<category><![CDATA[滚动]]></category>

		<guid isPermaLink="false">http://www.uideas.cn/?p=128</guid>
		<description><![CDATA[　　很久没写东西了，最近网上到处找一些处理滚动的js，看来看去，看到恼火，都是些长篇大论，写得太多，本想在里面找个好用点的收集到起，结果不好用的归不好用，复杂的归复杂，最后还是自己动手写了一个简单的……]]></description>
			<content:encoded><![CDATA[<p>　　很久没写东西了，最近网上到处找一些处理滚动的js<br />
看来看去，看到恼火，都是些长篇大论，写得太多，本想在里面找个好用点的收集到起，结果不好用的归不好用，复杂的归复杂，最后还是自己动手写了一个简单的</p>
<p>先研究一下想法<br />
　　在网页的很多地方可能大家都讨厌滚动条，比如页面上有背景颜色，而改变滚动条的样式只有ie6内核的浏览器支持，所以可以不要滚动条，而一样达到滚动的效果，这里有个例子是实现上下滚动<br />
再来谈一下思路<br />
　　1、点击一个按钮即让里面内容上下滚动其实就是让scrollTop的值发生改变<br />
　　2、当内容顶对齐后就不再要向上点击的按钮，向下亦同，即判断scrollTop的值和内容的实际高度与外面容器的值的关系</p>
<p>来个例子让大家看看才是真的(兼容的哦)：</p>
<form enctype="application/x-www-form-urlencoded" method="get"><code></p>
<div class="Nodiv">
<div class="Notitle">CODE</div>
<div class="Nocontent"><textarea class="textarea" cols="20" rows="8">&lt;html&gt; &lt;head&gt; &lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"&gt; &lt;title&gt;无标题文档&lt;/title&gt; &lt;link type="text/css" rel="stylesheet" href="http://www.uideas.cn/download/menuscroll.css"&gt; &lt;/head&gt;  &lt;body onLoad="setmenu()"&gt; &lt;div class="mainDiv"&gt; &lt;div id="menutop"&gt;&lt;/div&gt; &lt;div id="cov"&gt; 	&lt;div id="menu"&gt; 	  &lt;p class="contenttitle"&gt;快乐不快乐(郑秀文)&lt;/p&gt; 	  &lt;p&gt;咖啡淡了&lt;/p&gt; 	  &lt;p&gt;是因为冰块溶了&lt;/p&gt; 	  &lt;p&gt;没怎么了&lt;/p&gt; 	  &lt;p&gt;淡了就是淡了&lt;/p&gt; 	  &lt;p&gt;搁在桌上还要不要&lt;/p&gt; 	  &lt;p&gt;不再爱了&lt;/p&gt; 	  &lt;p&gt;是因为感情坏了&lt;/p&gt; 	  &lt;p&gt;你怎么了&lt;/p&gt; 	  &lt;p&gt;坏了就是坏了&lt;/p&gt; 	  &lt;p&gt;没有什么大不了&lt;/p&gt; 	  &lt;p&gt;我们不快乐&lt;/p&gt; 	  &lt;p&gt;快乐后不再快乐&lt;/p&gt; 	  &lt;p&gt;就在最后的一秒&lt;/p&gt; 	  &lt;p&gt;抱了吻了哭了&lt;/p&gt; 	  &lt;p&gt;快乐不快乐&lt;/p&gt; 	  &lt;p&gt;没人快不快乐&lt;/p&gt; 	  &lt;p&gt;就在最后的一秒&lt;/p&gt; 	  &lt;p&gt;我们的关系就这样了&lt;/p&gt; 	  &lt;p&gt;&amp;nbsp;&lt;/p&gt; 	&lt;/div&gt; &lt;/div&gt; &lt;div id="menubottom"&gt;&lt;/div&gt; &lt;/div&gt; &lt;/body&gt; &lt;script language="javascript" type="text/javascript" src="http://www.uideas.cn/download/menuscroll.js"&gt;&lt;/script&gt; &lt;/html&gt; </textarea></div>
<div class="Nobutton">
<input onclick="RunCode(this)" type="button" value="运行代码" />
<input onclick="CopyCode(this)" type="button" value="复制代码" />
<input onclick="SaveCode(this)" type="button" value="保存代码" />
<span class="Nots">[Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行]</span>
</div>
</div>
<p></code></form>
<p>&nbsp;</p>
<p><span style="color: #993300;"><strong>相关下载：</strong></span><br />
　　css下载：<a href="http://www.uideas.cn/download/menuscroll.css">menuscroll.css</a><br />
　　js下载：<a href="http://www.uideas.cn/download/menuscroll.js">menuscroll.js</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.uideas.cn/post/128.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>通过js从父页面获取子页面的值</title>
		<link>http://www.uideas.cn/post/88.html</link>
		<comments>http://www.uideas.cn/post/88.html#comments</comments>
		<pubDate>Tue, 20 Oct 2009 09:23:36 +0000</pubDate>
		<dc:creator>kos</dc:creator>
				<category><![CDATA[JAVASCRIPT]]></category>
		<category><![CDATA[contentWindow]]></category>
		<category><![CDATA[selection]]></category>
		<category><![CDATA[W3C标准]]></category>
		<category><![CDATA[传值]]></category>
		<category><![CDATA[子页面]]></category>

		<guid isPermaLink="false">http://uideas.cn/?p=88</guid>
		<description><![CDATA[　　通常在很多情况下都会遇到通过js来传值的问题，只要通过一些页面关联，他们的值就可以互相传递
其中应用框架的时候传值问题可能会遇到更多一些1、从父页面传值到子页面可能很容易办到，在很多情况下可以不通过js来传就可以达到目的，但从子页面把数据传给父页面就不是那么容易了……]]></description>
			<content:encoded><![CDATA[<p>　　通常在很多情况下都会遇到通过js来传值的问题，只要通过一些页面关联，他们的值就可以互相传递<br />
其中应用框架的时候传值问题可能会遇到更多一些</p>
<p>　　1、从父页面传值到子页面可能很容易办到，在很多情况下可以不通过js来传就可以达到目的，但从子页面把数据传给父页面就不是那么容易了，其实思路很简单，首先你要通过父页面找到子页面，按照W3C标准来，语法如下：<br />
document.getElementById(&#8221;iframe1&#8243;).contentWindow;<br />
取到子页面对象</p>
<p>　　2、此文为了达到一个很醒目的效果，做了一个很即时的例子，当鼠标选中子页面的任何文字的时候，父页面的text里面就把显示出来，通过getSelection和selection.createRange方法来实现，关于selection.createRange是只能在ie6上面能用，所以要加。</p>
<p>　　3、注：此实例牵涉到一个安全机制问题，以前很多浏览器都没考虑到过的，所以这个实例在一部分浏览器里面调试不起作用，但不用担心，你把代码放到自己的机子上试试，是得行的，也就是说这个跨服务器去执行这样的操作就会出问题。[与父子页面传值的问题，此博里面还有两篇文章，关注此问题的朋友可以去关注一下]</p>
<p>具体代码如下：</p>
<form enctype="application/x-www-form-urlencoded"><code></p>
<div class="Nodiv">
<div class="Notitle">CODE</div>
<div class="Nocontent"><textarea class="textarea" cols="20" rows="8">&lt;html&gt; &lt;head&gt; &lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312"&gt; &lt;title&gt;无标题文档&lt;/title&gt;  &lt;/head&gt;  &lt;body&gt; &lt;input type="text" id="text1"&gt;&lt;iframe src="http://www.uideas.cn/download/demo1.html" id="iframe1" name="iframe1" style="width:60%; height:60%;"&gt;&lt;/iframe&gt; &lt;/body&gt;  &lt;/html&gt; &lt;script language="JavaScript"&gt; var childHtml = document.getElementById("iframe1").contentWindow; var parentText = document.getElementById("text1"); var getValue = ""; if(childHtml.document.selection){ 	childHtml.document.onmouseup=function(){ 		parentText.value = childHtml.document.selection.createRange().text; 		} 	}else{ 		childHtml.onmouseup=function(){ 		parentText.value=childHtml.window.getSelection(); 		} 	} &lt;/script&gt;</textarea></div>
<div class="Nobutton">
<input onclick="RunCode(this)" type="button" value="运行代码" />
<input onclick="CopyCode(this)" type="button" value="复制代码" />
<input onclick="SaveCode(this)" type="button" value="保存代码" />
<span class="Nots">[Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行]</span>
</div>
</div>
<p></code></form>
]]></content:encoded>
			<wfw:commentRss>http://www.uideas.cn/post/88.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
