烈之斩
火狐狸
火狐狸
  • UID35302
  • 注册日期2011-02-19
  • 最后登录2021-09-19
  • 发帖数236
  • 经验222枚
  • 威望0点
  • 贡献值118点
  • 好评度23点
  • 社区居民
  • 忠实会员
阅读:2988回复:11

回复模式BUG

楼主#
更多 发布于:2017-11-22 05:25
主楼的“回复”点击无反应
下面的楼层点击回复会变成这样:





还无法提交


什么JS坏了么?
烈之斩
火狐狸
火狐狸
  • UID35302
  • 注册日期2011-02-19
  • 最后登录2021-09-19
  • 发帖数236
  • 经验222枚
  • 威望0点
  • 贡献值118点
  • 好评度23点
  • 社区居民
  • 忠实会员
1楼#
发布于:2017-11-25 08:51
又恢复了

但是这个东西近年来至少坏过3、4次了,不清楚是什么原因。
fiag
管理员
管理员
  • UID1188
  • 注册日期2004-12-21
  • 最后登录2024-02-19
  • 发帖数4681
  • 经验686枚
  • 威望0点
  • 贡献值402点
  • 好评度51点
2楼#
发布于:2017-11-25 10:13
我也无法重现。缓存问题?
yfdyh000
千年狐狸
千年狐狸
  • UID29079
  • 注册日期2009-06-07
  • 最后登录2022-05-18
  • 发帖数2262
  • 经验1390枚
  • 威望0点
  • 贡献值52点
  • 好评度139点
  • 社区居民
  • 最爱沙发
  • 忠实会员
3楼#
发布于:2017-11-25 18:58
偶尔遇到过。从图中看,CSS没加载?
烈之斩
火狐狸
火狐狸
  • UID35302
  • 注册日期2011-02-19
  • 最后登录2021-09-19
  • 发帖数236
  • 经验222枚
  • 威望0点
  • 贡献值118点
  • 好评度23点
  • 社区居民
  • 忠实会员
4楼#
发布于:2017-11-26 05:55
不是CSS,其实是“回复”按钮的onclick事件没有加载或者捆绑正确(你单独中键打开回复的链接应该也是那样子)
yfdyh000
千年狐狸
千年狐狸
  • UID29079
  • 注册日期2009-06-07
  • 最后登录2022-05-18
  • 发帖数2262
  • 经验1390枚
  • 威望0点
  • 贡献值52点
  • 好评度139点
  • 社区居民
  • 最爱沙发
  • 忠实会员
5楼#
发布于:2017-11-26 21:15
烈之斩:不是CSS,其实是“回复”按钮的onclick事件没有加载或者捆绑正确(你单独中键打开回复的链接应该也是那样子)回到原帖
我是说顶楼的图,头像、链接有错位,背景没加载,像是加载不全。
回复按钮不能用遇到过数次,是输入内容后按钮未被启用(保持灰白色)。
烈之斩
火狐狸
火狐狸
  • UID35302
  • 注册日期2011-02-19
  • 最后登录2021-09-19
  • 发帖数236
  • 经验222枚
  • 威望0点
  • 贡献值118点
  • 好评度23点
  • 社区居民
  • 忠实会员
6楼#
发布于:2017-11-28 14:48
不,你直接中键或者右键->新标签页打开某个“回复”按钮就知道了,那个是正常的,因为那个页面本来就不应该让用户看到,所以自然没有正常的UI,看着像CSS没加载一样

例如:https://www.firefox.net.cn/bbs-post-fastreply?tid=60570&pid=363734


正常这个页面应该用ajax动态植入到当前页面作为快速回复。
yfdyh000
千年狐狸
千年狐狸
  • UID29079
  • 注册日期2009-06-07
  • 最后登录2022-05-18
  • 发帖数2262
  • 经验1390枚
  • 威望0点
  • 贡献值52点
  • 好评度139点
  • 社区居民
  • 最爱沙发
  • 忠实会员
7楼#
发布于:2017-11-28 16:17
烈之斩:不,你直接中键或者右键->新标签页打开某个“回复”按钮就知道了,那个是正常的,因为那个页面本来就不应该让用户看到,所以自然没有正常的UI,看着像CSS没加载一样

例如:https://www.firefox.net.cn/bbs-pos...
回到原帖
这种用法有点奇怪,按钮激活也许依赖外部脚本,不能用也没什么可说的。
烈之斩
火狐狸
火狐狸
  • UID35302
  • 注册日期2011-02-19
  • 最后登录2021-09-19
  • 发帖数236
  • 经验222枚
  • 威望0点
  • 贡献值118点
  • 好评度23点
  • 社区居民
  • 忠实会员
8楼#
发布于:2017-11-29 11:37
yfdyh000:这种用法有点奇怪,按钮激活也许依赖外部脚本,不能用也没什么可说的。回到原帖
。。交流有点困难

我当然不是这么用的,正常来说应该点“回复”,onclick触发但不是直接打开新页面,而是插入到原始页面里作为回复框就好像这样:



但是有时候“回复”按钮会bug不绑事件,导致点了就进去那个链接了

所以BUG不是那个“奇怪的”页面按钮无效
BUG是为什么有时候“回复”绑onclick事件会没了(同理,首楼的“回复”绑的事件应该是滚动到页面下方的回复框,有时候也会失效)

而且BUG出现的时候我看过控制台,并没有发现什么JS加载错误的问题




yfdyh000
千年狐狸
千年狐狸
  • UID29079
  • 注册日期2009-06-07
  • 最后登录2022-05-18
  • 发帖数2262
  • 经验1390枚
  • 威望0点
  • 贡献值52点
  • 好评度139点
  • 社区居民
  • 最爱沙发
  • 忠实会员
9楼#
发布于:2017-11-29 16:24
烈之斩:。。交流有点困难

我当然不是这么用的,正常来说应该点“回复”,onclick触发但不是直接打开新页面,而是插入到原始页面里作为回复框就好像这样:



但是有时候“回复”按钮会bug不绑事件,导致点了就进去那个链接了

所...
回到原帖
这样啊,点回复按钮变成打开链接倒是从没遇到过。是否某个扩展或脚本在影响呢。
烈之斩
火狐狸
火狐狸
  • UID35302
  • 注册日期2011-02-19
  • 最后登录2021-09-19
  • 发帖数236
  • 经验222枚
  • 威望0点
  • 贡献值118点
  • 好评度23点
  • 社区居民
  • 忠实会员
10楼#
发布于:2017-11-30 00:59
奇了怪了,我用我的Win10笔记本可以在Chrome和Firefox 100%复现这个BUG(Edge不行),哪怕是纯新profile

但是家里的Win7就不行
烈之斩
火狐狸
火狐狸
  • UID35302
  • 注册日期2011-02-19
  • 最后登录2021-09-19
  • 发帖数236
  • 经验222枚
  • 威望0点
  • 贡献值118点
  • 好评度23点
  • 社区居民
  • 忠实会员
11楼#
发布于:2017-11-30 05:37
终于搞明白是怎么回事了


在global.js里有这么一段(从 https://gist.github.com/kejun/3358036 这里抄的):


 ;(function($){
      $.support.touch = 'ontouchend' in document;


      if (!$.support.touch) {
       return;
      }
      
     var eventMap = {
       click:     'touchend',
       mousedown: 'touchstart',
       mouseup:   'touchend',
       mousemove: 'touchmove'
     };
      
      var simulateEvent = function(eventType) {
        $.event.special[eventType] = {
          setup: function() {
            var el = $(this);                                                            
            el.bind(eventMap[eventType], $.event.special[eventType].handler);            
            if (this.nodeName === 'A' && eventType === 'click') {        
              this.addEventListener('click', function(e){ e.preventDefault(); }, false);
            }
          },(下略)

大意就是检测设备是否是触摸设备(通过最前面检测document是否有ontouchend属性,如果有就认为是触摸设备),如果是把onclick事件给禁掉(e.preventDefault()+返回false)。

但是问题是我用的是支持触摸的笔记本,所以虽然有触摸但是99%的情况就在用鼠标
然而这个玩意把鼠标onclick事件给废了,点击没效果了
游客

返回顶部