起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: chean

[结贴] 在顶部菜单中增加服务器时间

[复制链接]

57

主题

375

帖子

1515

积分

金牌会员

Rank: 6Rank: 6

积分
1515
QQ
 楼主| 发表于 2017-5-4 15:35:13 | 显示全部楼层
为什么protal_X/pc/index.w下modelLoad的事件会跳转到protal/base/base.js,难道不应该是跳转到protal_X/base/base.js 吗??
360桌面截图20170504153159.jpg
360桌面截图20170504153220.jpg
回复 支持 反对

使用道具 举报

发表于 2017-5-4 16:12:35 | 显示全部楼层
chean 发表于 2017-5-4 15:35
为什么protal_X/pc/index.w下modelLoad的事件会跳转到protal/base/base.js,难道不应该是跳转到protal_X/bas ...

如果有这个文件
protal_X/base/base.js
那么就会 执行这个文件的!!

扩展空间都会替换原始空间的!
protal_X 优先使用
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

57

主题

375

帖子

1515

积分

金牌会员

Rank: 6Rank: 6

积分
1515
QQ
 楼主| 发表于 2017-5-4 16:43:47 | 显示全部楼层
liangyongfei 发表于 2017-5-4 16:12
如果有这个文件
protal_X/base/base.js
那么就会 执行这个文件的!!

你的意思是即使我在protal_X/pc/index.w 下model下双击onload事件,跳转的文件虽然指向protal/base/base.js,但是系统在执行的时候也会执行protal_X/base/base.js的文件吧??
回复 支持 反对

使用道具 举报

发表于 2017-5-4 16:46:16 | 显示全部楼层
chean 发表于 2017-5-4 16:43
你的意思是即使我在protal_X/pc/index.w 下model下双击onload事件,跳转的文件虽然指向protal/base/base. ...

是的!设计器双击跳转到 不能识别扩展空间!
需要自己手手动切换打开那个js

默认应该是打开index.js 的  这个文件中没有onload 所以  就跳到它集成的父页面的onload 事件中了!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

57

主题

375

帖子

1515

积分

金牌会员

Rank: 6Rank: 6

积分
1515
QQ
 楼主| 发表于 2017-5-4 16:55:52 | 显示全部楼层
liangyongfei 发表于 2017-5-4 09:51
那你就在页面全部加载完以后,再去发送请求获取这个时间

http://docs.wex5.com/wex5-ui-question-list-2 ...

我目前是写在了base.w的onload事件下,发现如果是登陆进来以后,这个时间间隔就会很大,登陆完成以后再点击刷新 ,时间间隔就会很小(当然是在刷新页面出来情况很快的情况下)
回复 支持 反对

使用道具 举报

发表于 2017-5-4 17:18:02 | 显示全部楼层
chean 发表于 2017-5-4 16:55
我目前是写在了base.w的onload事件下,发现如果是登陆进来以后,这个时间间隔就会很大,登陆完成以后再点 ...

那就保证页面加载完全以后,再去获取时间吧!有可能是其他线程占用了。需要排队,所以耗时了!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

57

主题

375

帖子

1515

积分

金牌会员

Rank: 6Rank: 6

积分
1515
QQ
 楼主| 发表于 2017-5-4 17:19:40 | 显示全部楼层
BASE.JS 下  Model.prototype.bindUpdateDateTime = function(){
                var $root = $(this.getRootNode());
                var $dateTime = $root.find('.x-portal-datetime');
                 var now = bizUtil.getSystemDatetime();  
                 alert(justep.Date.toString(now, 'yyyy-MM-dd hh:mm:ss'));
                if($dateTime.size()>0){
                        var model = this;
                        var fn = function(){
                           now = justep.Date.increase(now, 1, 's');
                          $dateTime.text(justep.Date.toString(now, 'yyyy-MM-dd hh:mm:ss'));
                                                  };
                         //注:时间还有问题 有间隔
                         this._updateDateTimeHandle = window.setInterval(justep.Util.bindModelFn(this, fn, this), 1000);
                  }
        };
在这里写了一个alert,发现在系统刚登陆的时候就取到了bizUtil.getSystemDatetime()。这样来说确定是太早了啊。还没有进到主界面呢,再等它进到主界面的时候 ,时间就差的多了。
我觉得还是bindUpdateDateTime ()什么时候 执行的问题
回复 支持 反对

使用道具 举报

57

主题

375

帖子

1515

积分

金牌会员

Rank: 6Rank: 6

积分
1515
QQ
 楼主| 发表于 2017-5-4 17:22:54 | 显示全部楼层
liangyongfei 发表于 2017-5-4 17:18
那就保证页面加载完全以后,再去获取时间吧!有可能是其他线程占用了。需要排队,所以耗时了! ...

是啊,是啊, 可是这个点在哪里呢?你们对框架熟悉,请指教下哈。。
回复 支持 反对

使用道具 举报

发表于 2017-5-4 18:07:17 | 显示全部楼层
chean 发表于 2017-5-4 17:22
是啊,是啊, 可是这个点在哪里呢?你们对框架熟悉,请指教下哈。。

index.js 中 重写onload 事件
  1.         Model.prototype.modelLoad = function(event) {
  2.                 this.callParent();
  3.                 //自己的获取时间代码
  4.         }
复制代码


this.callParent();先执行完了,最后再执行自己的代码!试试行吗?

不行就setTimeout 一段时间后请求吧!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

57

主题

375

帖子

1515

积分

金牌会员

Rank: 6Rank: 6

积分
1515
QQ
 楼主| 发表于 2017-5-5 09:45:46 | 显示全部楼层
经过测试发现也不需要setTimeout ,实际上在 bizUtil.getSystemDatetime()时取到的时间是准确的, 在index.w onload执行完成以后, 虽然你是callParent()之后执行代码,但页面全部加载完的时间就是这个时间差。这个好像是在代码端来无法来体现了。
求验证我的说法,谢谢。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-11-24 10:27 , Processed in 0.065986 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表