找回密码
 立即注册

QQ登录

只需一步,快速开始

起来睡了

初级会员

16

主题

32

帖子

374

积分

初级会员

积分
374

微信认证勋章

起来睡了
初级会员   /  发表于:2021-2-23 11:10  /   查看:2987  /  回复:3
1金币
本帖最后由 起来睡了 于 2021-2-23 11:19 编辑

1、原界面【编辑页面加载命令】维护了JS命令,在该界面跳转到其他页面后,仍然加载了JS命令,导致浏览器错误提醒。

  1. //获取当前页面
  2. var page=Forguncy.Page;
  3. page.bind("loaded", function() {
  4. window.setInterval(function(){
  5. //获取页面上的单元格的值;
  6. var cell1=page.getCell("TIME").getValue();
  7. var cell2=page.getCell("marktext").getValue();
  8. //从OADATE转换成DateTime;
  9. var oaDate = cell1;
  10. var date = Forguncy.ConvertOADateToDate(oaDate);
  11. var nowtime = new Date(),  //获取当前时间
  12.         endtime = new Date(date);  //定义结束时间
  13.     var lefttime = endtime.getTime() - nowtime.getTime(),  //距离结束时间的毫秒数
  14.         leftd = Math.floor(lefttime/(1000*60*60*24)),  //计算天数
  15.         lefth = Math.floor(lefttime/(1000*60*60)%24),  //计算小时数
  16.         leftm = Math.floor(lefttime/(1000*60)%60),  //计算分钟数
  17.         lefts = Math.floor(lefttime/1000%60);  //计算秒数
  18. //    return leftd + "天" + lefth + ":" + leftm + ":" + lefts;  //返回倒计时的字符串
  19. //将倒计时回填到TEXT单元格中
  20. var textCell = page.getCell("TEXT");
  21. if (lefttime>0){
  22.         textCell.setValue(leftd + "天 " + lefth + "小时 " + leftm + "分钟 "+ lefts + "秒" )
  23. }
  24. else {
  25. if(cell2=0){
  26. textCell.setValue("已过期")
  27. }
  28. }
  29. }, 1000)
  30. });
复制代码


附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

您好,看您这个JS命令设置的是一秒执行一次,是比较频繁的,可能会发生点击跳转的时候它刚好再跑,然后本页面的元素被清了,所以就找不到了,导致了报错。 或许您可以在执行的时候,先判断这个元素是否存在,然后决定执不执行下面的代按

3 个回复

倒序浏览
最佳答案
最佳答案
Joe.xu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2021-2-23 11:10:51
来自 2#
本帖最后由 Joe.xu 于 2021-2-23 11:58 编辑

您好,看您这个JS命令设置的是一秒执行一次,是比较频繁的,可能会发生点击跳转的时候它刚好再跑,然后本页面的元素被清了,所以就找不到了,导致了报错。
或许您可以在执行的时候,先判断这个元素是否存在,然后决定执不执行下面的代按
回复 使用道具 举报
kisanly悬赏达人认证 活字格认证
中级会员   /  发表于:2021-12-8 22:56:29
3#
解决了吗?
回复 使用道具 举报
Howie.Sun讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-12-9 09:39:11
4#

您好,如果编辑页面加载命令中JS代码是需要频繁执行的,可以在页面中通过其他方式控制,比如文本框触发JS命令来执行,也可以设置一些条件,让JS代码依赖页面中某个元素的值才会执行,而不是自动执行,目的是为了一旦跳转至其他页面将不会执行这个JS代码。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部