JavaScript获取页面宽度高度大全

网页可见区域宽:document.body.clientWidth
网页可见区域高:document.body.clientHeight
网页可见区域宽:document.body.offsetWidth(包括边线的宽)
网页可见区域高:document.body.offsetHeight(包括边线的宽)
网页正文全文宽:document.body.scrollWidth
网页正文全文高:document.body.scrollHeight
网页被卷去的高:document.body.scrollTop(IE7无效)
网页被卷去的左:document.body.scrollLeft(IE7无效)

网页被卷去的高:document.documentElement.scrollTop(IE7有效)

网页被卷去的左:document.documentElement.scrollLeft(IE7有效)
网页正文部分上:window.screenTop
网页正文部分左:window.screenLeft
屏幕分辨率的高:window.screen.height
屏幕分辨率的宽:window.screen.width
屏幕可用工作区高度:window.screen.availHeight
屏幕可用工作区宽度:window.screen.availWidth

相对于窗口左上角的X:window.event.clientX

相对于窗口左上角的Y:window.event.clientY
相对于整个页面的X:window.event.X
相对于整个页面的Y:window.event.Y

 

第二次笔记

 

 

关于获取各种浏览器可见窗口大小的一点点研究,这里面有些在兼容性不是很好,请看后面的介绍。
<script>
function getInfo()
{
var s = “”;
s += ” 网页可见区域宽:”+ document.body.clientWidth;
s += ” 网页可见区域高:”+ document.body.clientHeight;
s += ” 网页可见区域宽:”+ document.body.offsetWidth + ” (包括边线和滚动条的宽)”;
s += ” 网页可见区域高:”+ document.body.offsetHeight + ” (包括边线的宽)”;
s += ” 网页正文全文宽:”+ document.body.scrollWidth;
s += ” 网页正文全文高:”+ document.body.scrollHeight;
s += ” 网页被卷去的高(ff):”+ document.body.scrollTop;
s += ” 网页被卷去的高(ie):”+ document.documentElement.scrollTop;
s += ” 网页被卷去的左:”+ document.body.scrollLeft;
s += ” 网页正文部分上:”+ window.screenTop;
s += ” 网页正文部分左:”+ window.screenLeft;
s += ” 屏幕分辨率的高:”+ window.screen.height;
s += ” 屏幕分辨率的宽:”+ window.screen.width;
s += ” 屏幕可用工作区高度:”+ window.screen.availHeight;
s += ” 屏幕可用工作区宽度:”+ window.screen.availWidth;
s += ” 你的屏幕设置是 “+ window.screen.colorDepth +” 位彩色”;
s += ” 你的屏幕设置 “+ window.screen.deviceXDPI +” 像素/英寸”;
//alert (s);
}
getInfo();
</script>
在我本地测试当中:

在IE、FireFox、Opera下都可以使用
document.body.clientWidth
document.body.clientHeight
即可获得,很简单,很方便。
而在公司项目当中:
Opera仍然使用
document.body.clientWidth
document.body.clientHeight
可是IE和FireFox则使用
document.documentElement.clientWidth
document.documentElement.clientHeight;
原来是W3C的标准在作怪啊
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>
如果在页面中添加这行标记的话
在IE中:
document.body.clientWidth ==> BODY对象宽度
document.body.clientHeight ==> BODY对象高度
document.documentElement.clientWidth ==> 可见区域宽度
document.documentElement.clientHeight ==> 可见区域高度
在FireFox中:
document.body.clientWidth ==> BODY对象宽度
document.body.clientHeight ==> BODY对象高度
document.documentElement.clientWidth ==> 可见区域宽度
document.documentElement.clientHeight ==> 可见区域高度
?
在 Opera中:
document.body.clientWidth ==> 可见区域宽度
document.body.clientHeight ==> 可见区域高度
document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)
document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)
而如果没有定义W3C的标准,则
IE为:
document.documentElement.clientWidth ==> 0
document.documentElement.clientHeight ==> 0
FireFox为:
document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)
document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)
Opera为:
document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)
document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)

真是一件麻烦事情,其实就开发来看,宁可少一些对象和方法,不使用最新的标准要方便许多啊。

[来源]

stdClass object的处理

php取回的json数据是stdClass,要将数据处理成数组,需要用get_object_vars函数,但是该函数只能将第一级对象转为数组

例子:
$back_info = file_get_contents(“http://xxxx/act/cps_api/gamelist/index/?game_ids=” . $ids);
$back_temp = json_decode($back_info);
$back = get_object_vars($back_temp);
foreach ($back as $k => $v) {
print_r($k);
echo “<br />”;
print_r($v);
exit;
}
输出:
97<br />stdClass Object
(
    [game_name] => 神仙道
    [server_info] => stdClass Object
        (
            [894] => stdClass Object
                (
                    [server_number] => 双线94区
                    [server_name] => 九鼎记事
                    [game_url] => http://xxxx/webgame/index/sxd/s94?from=0gsp_cps2345&source=cps&from_ly=cps2345
                )
        )
)
如果要访问stdClass的某个子元素:例$v->game_name

ZendStudio 8 FTP设置

功能简介:

在zend studio 里开发php项目,修改*.php文件后自动同步修改服务器端对应*.php文件( 应该是任意格式的对应文件,不仅仅是php )

告别需要点击esftp插件才能将文件上传到服务器端的历史,提高开发效率

配置流程:

1.本地和服务器部署项目代码

2.zend studio配置ssh/ftp

3.测试通过

开干:

1.先在zend studio新建/导入你自己的项目(该项目需要和服务器上的目录结构对应,服务器部署代码略)

2.在php explorer窗口(即项目代码窗口)鼠标右键某php项目

–>properties

–>remote server support

–>选择 enable remote connection properties

–>manage

host name: 设置连接备注名称

system type:ssh/ftp

–>finish

–>host name: 服务器ip  port:端口号

username: 帐号

password:密码

initial directory: 服务器项目代码对应路径 (例如:/var/www/html/项目名称)

–>test connection 测试一下联通性 成功返回 connection successful

–>finish

project directory: / (相对路径,一般为/)

upload files: on save (保存本地php时同步到服务器)

–> 当服务器没有代码时可以选择yes将本地代码全部上传到服务器,服务器上已经部署代码选择no

–>搞定

3.测试打开你项目下任意一个php 写任意内容进去保存,然后到服务器上对比这个文件是否同本地一致即可。

补充注意事项:

1.   8.0的ssh或ftp第一次使用时默认同步全部目录,你不选择同步全部目录就可以了

                   这样就不用全部目录同步了,以后你保存某一个文件才同步

             2.   8.0针对你有一台开发机的时候效率非常高

3.   不建议当作上线工具使用,网络出现问题时候需要多试几次 test connect 就可以了

 

zend 8.0和6.0  死机的情况主要有一下几点

               1.  上传文件到服务器过程时, 网络不稳定出现丢包情况

2.  上传文件到服务器过程时, 电脑某程序突然消耗太多内存比如某些程序更新

3.  上传a文件到服务器过程时, 你又重复保存a或上传a文件

不喜欢用zend的可以用 secure CRT 在ssh下直接用 vi 编程,手熟以后远比zend效率高,因为在机房或者linux环境下没人给你装zend

[来源]