在AxureRP8和RP9.0.0.36xx版本中可用的禁用浏览器右键菜单方式在RP9最新版中已失效 已解决

hnrichie 普通用户 2020-7-27 2395

上述JS代码已失效


登录后回复
最新回复 (7)
  • hnrichie 普通用户 2020-7-30
    0 引用 8
    本问题已解决,为何原有JS无法禁止浏览器自带右键不显示,是因为window.event.returnValue这个属性在最新版的Chrome浏览器中已不支持,浏览器会报个错,returnValue这个属性未定义;如果使用8x版本以上Chrome浏览器,禁用浏览器自带右键的方法为:在页面加载时这个交互事件中加入以下JS代码:
    javascript:
    document.addEventListener('contextmenu',function(e){
            e.preventDefault();
        })();

    这样处理后,不论是点“预览”还是生成HTML本地方式查看效果时,浏览器右键菜单都能禁掉
  • hnrichie 普通用户 2020-7-30
    0 引用 7
    松林放牛娃 是在生成预览中测试的么?本地测试是不可以的; 动态面板做2级菜单,收起/展开挺方便;3级就比较麻烦了; 单击2展3时:交互中,先收起1级,再展开2展3,再展把1展2打开。收起也是一样的逻辑;
    版主,我刚测试了,本地确实2种方式不可以(浏览器自带的右键菜单会出现):1、直接点"预览"方式 2、点"HTML",生成静态HTML到Nginx,通过访问nginx端口方式,但是将页面改动推送到http://cloud.axure.org/【国内版 Axure Share Cloud】上,再查看效果时,浏览器自带右键菜单的确不显示了!这是因为http://cloud.axure.org/上部署的AxureShare服务端程序生成HTML时,将那段JS作了加工处理,使浏览器能侦察这段JS并生效?而本地预览和生成HTML时,把那段JS没生成到HTML源码中去吗?(我感觉像是这么回事)(待会有时间在浏览器上查看网页源代码作一下对比看看)
  • 松林放牛娃 超级版主 2020-7-30
    0 引用 6
    是在生成预览中测试的么?本地测试是不可以的;
    动态面板做2级菜单,收起/展开挺方便;3级就比较麻烦了;
    单击2展3时:交互中,先收起1级,再展开2展3,再展把1展2打开。收起也是一样的逻辑;
  • 松林放牛娃 超级版主 2020-7-30
    0 引用 5
    hnrichie (见主贴图二)右键是写在元件上(动态面板上),另外,像这种无限级树节点,我目前的做法是每个节点是一个面板,每个面板有2种状态:收伸与展开,在展开状态里再套上一个子节点(也是一个节点一个面板,也是分收缩 ...
    我测试了下。没问题的:https://rbl0hp.axshare.com
    必须生成预览链接,本地不可以的。
  • 松林放牛娃 超级版主 2020-7-30
    0 引用 4
    hnrichie (见主贴图二)右键是写在元件上(动态面板上),另外,像这种无限级树节点,我目前的做法是每个节点是一个面板,每个面板有2种状态:收伸与展开,在展开状态里再套上一个子节点(也是一个节点一个面板,也是分收缩 ...

    我测试没有问题哒:https://rbl0hp.axshare.com

    必须要发布到网上,生成预览链接;本地解决不了;

    上传的附件:
  • hnrichie 普通用户 2020-7-30
    0 引用 3

    (见主贴图二)右键是写在元件上(动态面板上),另外,像这种无限级树节点,我目前的做法是每个节点是一个面板,每个面板有2种状态:收伸与展开,在展开状态里再套上一个子节点(也是一个节点一个面板,也是分收缩和展开)【无限往下套面板】,这时就会有一个问题发生了:1/1.1/1.1.1/1.1.1.1。。。2/2.1/2.1.1/2.1.1.1。。。当点击1.1.1.1伸缩时,无法将挨着的2这个1级节点拉动)

  • 松林放牛娃 超级版主 2020-7-30
    0 引用 2
    尝试解决:
    1,如果是在页面上右击,估计要生成html,添加js来隐藏;
    2,建议在需要右击的地方,添加热区,把右击的交互写到元件上;
    3,理论上讲,生成预览链接后,再右击是不会激活浏览器的快捷菜单的;
返回