璐's profile十三豆的家PhotosBlogListsMore Tools Help

璐 彭

Occupation
Location

十三豆的家

享受生活 笑看人生 活出精彩 不枉此生
Photo 1 of 13
February 17

document.body.scrollTop与document.body.clientHeight 无效的解决方法

当网页做了以下声明时

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

     原因是声明后document.body.scrollTop的值永远等于0,解决办法是只需把document.body用document.documentElement替换即可。

标准模式下document.body.clientHeight 与 document.body.srcollTop取不到需要的值的问题在Quirks渲染模式下<body>作为文档的根,所以可以用document.body.clientHeight得到文档的高度。而在Standard渲染模式下,<html>作为文档的根,需要使用document.documentElement.clientHeight才可以得到。此时document.body的高度和宽度都为0

解决办法:使用document.documentElement 代替document.body

August 01

今日

年年岁岁花相似,岁岁年年人不同。
匆匆人生近而立,方知人生为几何。
恰逢乞巧与此时,牛郎织女渡鹊桥。
百年盛事与翌日,繁星盛事与谁赏。
July 03

[转]IFrame中Session丢失的解决办法_吾心飞扬

IFrame中Session丢失的解决办法

在开发中,我们经常会遇到使用Frame来工作,而且有时是为了跟其他网站集成,应用到多域的情况下,而Iframe是不能保存Session的。因此,网上可以找到很多相关的文章,如果网站可以采用设置Web.Config中的配置:<sessionState
mode="StateServer"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="false"
timeout="40"
/>
把cookieless="false"改成"true"就可以了。但也同样有个小问题,就是如果页面中采用Javascript的window.location.href=''这样的方式来重定向的话,系统会认为这是另一个新的请求,产生一个新的SessionId,导致原Session同样的丢失。所以对于重定向,还是使用Response.Redirect()为好。
除了Ifrmae有丢Session问题外,frameset也有同样的问题。Frameset的问题更不移定,是有时会丢,有时不会丢,这更认人头痛,在网上找到了一个方法,在页面page_onload里添加一语句:
Response.AddHeader("P3P","CP=CAO PSA OUR");
FrameSet中的Session丢失问题就解决了。至于里面具体的原因 也没时间去搞懂了。
-----------------------------------------------------------------------------------------------------------------------------------------------
在实际操作中,以上设置将导致对方post过来的数据我方接收不到的问题,正确的解决方法应该是:
http://www.cnblogs.com/suxvsheng/archive/2007/08/17/860157.html
IE框架中访问不同域的网页不能带入COOKIE————是IE浏览器的一个BUG?
偶然中发现一个IE浏览器的问题:
站点aa.com的页面a.aspx中存在一个iframe,iframe的src为站点bb.com的b.aspx。b.aspx设置了一个COOKIE(不管临时保存还是长期保存),然后刷新aa.com/a.aspx,bb.com/b.aspx也会被刷新,这时候会发现第二次向bb.com/b.aspx的请求里面并没有带入第一次设置的COOKIE。
更确切地说:IE浏览器丢掉了框架中不同域的COOKIE。
查看浏览器的隐私选项,默认是“中”。现在把隐私的等级修改成“低”,再次做上面的测试,然后发现框架中的COOKIE可以被带入了。
从这个现象来看,应该是IE出于安全考虑而做了限制。但是!!!处于不同的两个域的的页面,应该被看成打开了两个互不相关的浏览器窗口,大家各自设置自己的COOKIE,各自带入到下次请求中,只要互不影响,不应该受到限制。
恩,那么,为什么要限制呢?看来还是微软的程序员对自己浏览器的安全没什么信心,担心同一浏览器窗口不同域的情况下,黑客仍可能获取另一域的COOKIE,所以干脆把其中一个域的COOKIE干掉!!!人家FireFox为什么就没这种限制?
===========================================================================
问题根源:
IE6/IE7支持的P3P(Platform for Privacy Preferences Project (P3P) specification)协议默认阻止第三方无隐私安全声明的cookie,Firefox目前还不支持P3P安全特性,firefox中自然也不存在此问题了。Mircosoft对此的具体描述可以参见 Privacy in Internet Explorer 6
解决方法:
很简单,在要嵌入的内容中(iframe指向的站点)输出P3P的主机头声明,步骤如下(Session variables are lost if you use FRAMESET in Internet Explorer 6):
1.打开IIS管理器 inetmgr
2.选择被嵌入iframe源站点或者目录,右键点击打开属性框
3.切换到HTTP头
4.添加
5.自定义HTTP头名: P3P
6.自定义HTTP头值: CP="CAO PSA OUR"
7.关闭属性框退出,即刻生效
至于上面CAO PSA OUR的具体意思,还是请参考前面的文章:Privacy in Internet Explorer 6
至此,iframe框架下session丢失的问题才彻底解决。

June 26

关于blog

     现在可以写blog的地方太多了,网站越来越个性化,个人的爱好也不相同,在自己感兴趣的不同的网站写blog恐怕是很多现在都遇到的问题,当然我也是其中之一了.

      最近在一个旅游网站一个美食网站都写了blog,欢迎大家光顾哦!

点评blog  http://www.dianping.com/member/whlpeng

旅游blog  http://www.yododo.com/user/whlpeng

June 16

oracle 10g 中出现表名BIN$开头的表

    最近发现oracle中出现了这些奇怪的表名,上网查找后发现是oracle10g的回收站功能,并没有彻底的删除表,而是把表放入回收站,最后就出现了这样一堆奇怪的表名。。。。

    清除的方法如下:
    purge table origenal_tableName;
    purge index origenal_indexName;

    查询垃圾信息,可以用如下SQL语句:
    SELECT t.object_name,t.type ,t.original_name FROM user_recyclebin t;


    现在发现,原来还有这个命令:
    PURGE recyclebin;
    根本用不了上面那么复杂。呵呵。。。

    另,删除Table不进入Recycle的方法:
    drop table tableName purge;
    不过,我想一般的人都不愿意用这个。
 

HTML

您是 第

web site hit counter

位 访问者!

我的中国旅游足迹图
我的海外旅游足迹图
感谢访问!
Please wait...
Sorry, the comment you entered is too long. Please shorten it.
You didn't enter anything. Please try again.
Sorry, we can't add your comment right now. Please try again later.
To add a comment, you need permission from your parent. Ask for permission
Your parent has turned off comments.
Sorry, we can't delete your comment right now. Please try again later.
You've exceeded the maximum number of comments that can be left in one day. Please try again in 24 hours.
Your account has had the ability to leave comments disabled because our systems indicate that you may be spamming other users. If you believe that your account has been disabled in error please contact Windows Live support.
Complete the security check below to finish leaving your comment.
The characters you type in the security check must match the characters in the picture or audio.
No list items have been added yet.

Windows Media Player