璐님의 프로필十三豆的家사진블로그리스트기타 도구 도움말

彭 璐

직업
지역

十三豆的家

享受生活 笑看人生 活出精彩 不枉此生
사진(1/13)
2월 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

8월 1일

今日

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

[转]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丢失的问题才彻底解决。

6월 26일

关于blog

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

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

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

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

6월 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

位 访问者!

我的中国旅游足迹图
我的海外旅游足迹图
感谢访问!
잠시만 기다려 주세요...
죄송합니다. 입력한 댓글이 너무 깁니다. 내용을 줄여 보세요.
입력한 내용이 없습니다. 다시 시도해 보세요.
죄송합니다. 지금은 댓글을 추가할 수 없습니다. 나중에 다시 시도해 보세요.
댓글을 추가하려면 부모님의 사용 허락이 필요합니다. 허용 요청
부모님이 댓글 기능을 해제한 상태입니다.
죄송합니다. 지금은 댓글을 삭제할 수 없습니다. 나중에 다시 시도해 보세요.
하루에 남길 수 있는 댓글의 최대 한도를 초과했습니다. 24시간 후에 다시 시도해 보세요.
회원님의 계정은 다른 사용자에게 스팸 메일을 보낼 수 있다고 여겨지므로 댓글 기능이 비활성화되어 있습니다. 이 설정에 문제가 있다고 생각되면 Windows Live 지원에 문의하시기 바랍니다.
댓글을 남기려면 아래 보안 검사를 완료해야 합니다.
보안 검사에 입력한 글자는 그림 또는 오디오에 있는 글자와 일치해야 합니다.
추가한 리스트 항목이 없습니다.

Windows Media Player