Axure实战20:使用Axure和JavaScript实现浏览器FullScreen全屏效果

简介: Axure实战20:使用Axure和JavaScript实现浏览器FullScreen全屏效果

image.png

在本章中,你将学会使用Axure和JavaScript实现浏览器全屏效果。


项目背景


在B端或G端产品设计中,我们常常会接触到数据分析中台页面的设计。为了更好地展示数据分析的效果及给予用户更好的体验,覆盖式全屏展示模式成为一些大屏数据分析页面或者报表的首选。

那么本章中,我们将学习如何使用Axure和JavaScript实现浏览器全屏效果。


项目搭建


首先,创建一个新项目,命名为FullScreen。

image.png

页面样式-示例页面

我们拿一个数据分析页面作为示例页面。


image.png

示例页面也比较简单。

我们加了背景颜色#F0F2F5作为底色,然后拖入了一些矩形组件,修订了矩形的圆角,让卡片视图看起来没有那么锐利。

排布好卡片视图后,接着我们使用了第三方提供的图标库渲染页面。

我们在浏览器中预览下效果,PS:数据仅作为展示效果,不含其他业务逻辑。

image.png

页面样式-全屏按钮


接下来,我们来完成全屏的操作。

全屏的操作分为两部分:全屏展开、收起全屏。当我们点击全屏的时候,页面全屏时,全屏的按钮需要变成收起按钮;而我们收起全屏时,收起按钮需要变成全屏按钮。

基于这个页面逻辑,我们使用动态面板,设置两个状态,每个状态中放置一个按钮,点击时切换到另一个状态。

image.png

交互动作-全屏

页面样式完成后,我们来实现下交互动作,这里我们需要引用到两段JavaScript代码。


/*展开全屏*/
javascript:
function requestFullScreen(element) {
    var requestMethod = element.requestFullScreen || 
    element.webkitRequestFullScreen ||
    element.mozRequestFullScreen || 
    element.msRequestFullScreen;
    if (requestMethod) {
        requestMethod.call(element);
    } else if (typeof window.ActiveXObject !== "undefined") { 
                var wscript = new ActiveXObject("WScript.Shell");
                if (wscript !== null) {
                    wscript.SendKeys("{F11}");
                }
            }
       };
requestFullScreen(document.documentElement);


我们来看下javascript代码。

Element.requestFullscreen()方法用于异步请求,使得Element(元素)全屏显示。

然后需要这个请求支持谷歌(webkit)、火狐浏览器(moz)、IE浏览器(ms)的内核,如果请求成功就发出异步请求实现元素全屏显示。

收起全屏的代码也差不多的逻辑。


/*收起全屏*/
javascript:
function exitFull() {      
        var exitMethod = document.exitFullscreen || 
            document.mozCancelFullScreen || 
            document.webkitExitFullscreen || 
            document.webkitExitFullscreen; 
        if (exitMethod) {
            exitMethod.call(document);
        } else if (typeof window.ActiveXObject !== "undefined") {
            var wscript = new ActiveXObject("WScript.Shell");
            if (wscript !== null) {
                wscript.SendKeys("{F11}");
            }
        }
    };
javascript:
function exitFull() {      
        var exitMethod = document.exitFullscreen || 
            document.mozCancelFullScreen || 
            document.webkitExitFullscreen || 
            document.webkitExitFullscreen; 
        if (exitMethod) {
            exitMethod.call(document);
        } else if (typeof window.ActiveXObject !== "undefined") {
            var wscript = new ActiveXObject("WScript.Shell");
            if (wscript !== null) {
                wscript.SendKeys("{F11}");
            }
        }
    };
exitFull();


我们需要分别给展示全屏按钮、收起全屏按钮加入交互动作。

在“单击时”交互中,选择“打开链接”,选择“链接到URL或文件路径”,点击fx打开编辑弹窗,将JavaScript代码复制进去。

值得注意的一点是,一定要点击fx打开弹窗,在弹窗中复制,不然可能会因为格式排版问题造成不必要的错误。


image.png

项目预览

完成后,我们在浏览器中预览下效果。


image.png

当我们点击全屏的时候,页面全屏,并且全屏按钮变成收起,点击收起按钮,页面收起,收起按钮变成全屏。

哈哈哈,效果不错!

为了让这个项目能够公开访问,我们可以生成html文件,然后发布到gitHub或者gitee中,这样就可以将网站分享给朋友们了。


项目地址


FullScreen全屏: ricardowesley.gitee.io/fullscreen

快来动手试试吧!



相关文章
|
人工智能 自然语言处理 JavaScript
通义灵码2.5实战评测:Vue.js贪吃蛇游戏一键生成
通义灵码基于自然语言需求,快速生成完整Vue组件。例如,用Vue 2和JavaScript实现贪吃蛇游戏:包含键盘控制、得分系统、游戏结束判定与Canvas动态渲染。AI生成的代码符合规范,支持响应式数据与事件监听,还能进阶优化(如增加启停按钮、速度随分数提升)。传统需1小时的工作量,使用通义灵码仅10分钟完成,大幅提升开发效率。操作简单:安装插件、输入需求、运行项目即可实现功能。
737 4
 通义灵码2.5实战评测:Vue.js贪吃蛇游戏一键生成
|
12月前
|
JavaScript 前端开发 安全
【逆向】Python 调用 JS 代码实战:使用 pyexecjs 与 Node.js 无缝衔接
本文介绍了如何使用 Python 的轻量级库 `pyexecjs` 调用 JavaScript 代码,并结合 Node.js 实现完整的执行流程。内容涵盖环境搭建、基本使用、常见问题解决方案及爬虫逆向分析中的实战技巧,帮助开发者在 Python 中高效处理 JS 逻辑。
|
JavaScript 前端开发 算法
流量分发代码实战|学会用JS控制用户访问路径
流量分发工具(Traffic Distributor),又称跳转器或负载均衡器,可通过JavaScript按预设规则将用户随机引导至不同网站,适用于SEO优化、广告投放、A/B测试等场景。本文分享一段不到百行的JS代码,实现智能、隐蔽的流量控制,并附完整示例与算法解析。
477 1
|
编解码 JavaScript 前端开发
【Java进阶】详解JavaScript的BOM(浏览器对象模型)
总的来说,BOM提供了一种方式来与浏览器进行交互。通过BOM,你可以操作窗口、获取URL、操作历史、访问HTML文档、获取浏览器信息和屏幕信息等。虽然BOM并没有正式的标准,但大多数现代浏览器都实现了相似的功能,因此,你可以放心地在你的JavaScript代码中使用BOM。
452 23
|
Web App开发 前端开发 JavaScript
折腾之王:JavaScript之父Brave浏览器与BAT的诞生
2015年,JavaScript之父Brendan Eich再次创业,推出Brave浏览器和加密货币Basic Attention Token(BAT),旨在颠覆传统广告行业。Brave屏蔽广告、保护隐私,加载速度快;BAT则通过奖励机制让用户、内容创作者和广告主三方受益。尽管面临用户习惯和巨头竞争的挑战,Brave已拥有超4000万月活跃用户,成为全球增长最快的隐私浏览器,引领Web3生态发展。
693 22
折腾之王:JavaScript之父Brave浏览器与BAT的诞生
|
数据采集 JavaScript 前端开发
Pyppeteer实战:基于Python的无头浏览器控制新选择
本文详细讲解了如何使用 Pyppeteer 结合爬虫代理高效采集小红书热点推荐信息。通过设置代理 IP、Cookie 和自定义 User-Agent,突破目标网站的反爬机制,实现标题、内容和评论的数据提取。文章结合代码示例与技术关系图谱,清晰展示从数据采集到分析的全流程,为复杂网站的数据获取提供参考。读者可在此基础上优化异常处理、并发抓取等功能,提升爬虫性能。
1229 8
|
监控 JavaScript 前端开发
MutationObserver详解+案例——深入理解 JavaScript 中的 MutationObserver:原理与实战案例
MutationObserver 是一个非常强大的 API,提供了一种高效、灵活的方式来监听和响应 DOM 变化。它解决了传统 DOM 事件监听器的诸多局限性,通过异步、批量的方式处理 DOM 变化,大大提高了性能和效率。在实际开发中,合理使用 MutationObserver 可以帮助我们更好地控制 DOM 操作,提高代码的健壮性和可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
MutationObserver详解+案例——深入理解 JavaScript 中的 MutationObserver:原理与实战案例
|
监控 安全 中间件
Next.js 实战 (十):中间件的魅力,打造更快更安全的应用
这篇文章介绍了什么是Next.js中的中间件以及其应用场景。中间件可以用于处理每个传入请求,比如实现日志记录、身份验证、重定向、CORS配置等功能。文章还提供了一个身份验证中间件的示例代码,以及如何使用限流中间件来限制同一IP地址的请求次数。中间件相当于一个构建模块,能够简化HTTP请求的预处理和后处理,提高代码的可维护性,有助于创建快速、安全和用户友好的Web体验。
510 0
Next.js 实战 (十):中间件的魅力,打造更快更安全的应用
|
中间件 API
Next.js 实战 (八):使用 Lodash 打包构建产生的“坑”?
这篇文章介绍了作者在使用Nextjs15进行项目开发时遇到的部署问题。在部署过程中,作者遇到了打包构建时的一系列报错,报错内容涉及动态代码评估在Edge运行时不被允许等问题。经过一天的尝试和调整,作者最终删除了lodash-es库,并将radash的部分源码复制到本地,解决了打包报错的问题。文章最后提供了项目的线上预览地址,并欢迎读者留言讨论更好的解决方案。
531 0
Next.js 实战 (八):使用 Lodash 打包构建产生的“坑”?
|
设计模式 数据安全/隐私保护
Next.js 实战 (七):浅谈 Layout 布局的嵌套设计模式
这篇文章介绍了在Next.js框架下,如何处理中后台管理系统中特殊页面(如登录页)不包裹根布局(RootLayout)的问题。作者指出Next.js的设计理念是通过布局的嵌套来创建复杂的页面结构,这虽然保持了代码的整洁和可维护性,但对于特殊页面来说,却造成了不必要的布局包裹。文章提出了一个解决方案,即通过判断页面的skipGlobalLayout属性来决定是否包含RootLayout,从而实现特殊页面不包裹根布局的目标。
642 0
Next.js 实战 (七):浅谈 Layout 布局的嵌套设计模式