Axure引用ECharts图表 解决火狐浏览器出错

ops/2024/10/18 0:35:09/

Axure原型添加Echarts图表,没耐心看文章的可以直接下载示例 Axure中使用ECharts图表示例

1. 打开Axure新建页面

2. 页面添加元件

元件类型随意,矩形、动态面板、热区、图片 甚至段落都可以

3. 命名元件

随意命名,单个页面用到多个图表时名称要区别定义

在这里插入图片描述

4. 新增交互

选择 “载入” 时,执行动作选择 “打开链接”,链接到选择 “连接到外部URL”,在链接输入框的后边,点击 fx 打开窗口,输入JS函数脚本

在这里插入图片描述

5. JS内容

javascript:$axure.utils.loadJS('https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js');
setTimeout(function(){
var dom =$('[data-label=[[This.name]]]').get(0);
var Chart = echarts.init(dom);
var option = { };
if (option && typeof option === "object"){Chart.setOption(option, true);}}, 500);

以下代码块中为基础的js内容,其中 option={}; 为图表的各个参数项;
打开ECharts官方示例,https://echarts.apache.org/zh/index.html 选择需要的图表,进行在线编辑,完成后将在线编辑的内容全部复制出,替换基础js代码中的 option 部分;
在这里插入图片描述
以下为替换完成后所有的js代码

javascript:$axure.utils.loadJS('https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js');
setTimeout(function(){
var dom =$('[data-label=[[This.name]]]').get(0);
var Chart = echarts.init(dom);
var option = {tooltip: {trigger: 'item'},legend: {top: '5%',left: 'center'},series: [{name: 'Access From',type: 'pie',radius: ['40%', '70%'],avoidLabelOverlap: false,itemStyle: {borderRadius: 10,borderColor: '#fff',borderWidth: 2},label: {show: false,position: 'center'},emphasis: {label: {show: true,fontSize: 40,fontWeight: 'bold'}},labelLine: {show: false},data: [{ value: 1048, name: 'Search Engine' },{ value: 735, name: 'Direct' },{ value: 580, name: 'Email' },{ value: 484, name: 'Union Ads' },{ value: 300, name: 'Video Ads' }]}]
};
if (option && typeof option === "object"){Chart.setOption(option, true);}}, 500);

内容过长,可以先在NotePad++等文本编辑器中编辑, 编辑完后再复制到Axure中
编辑完成保存后,发布预览
运行成功效果图
在这里插入图片描述

示例中通过 [[This.name]] 绑定了当前元件

以上的方式支持大部分浏览器预览,但是火狐浏览器打不开,只显示一个错误代码、、、、
在这里插入图片描述
错误原因大概因为 火狐下第一次加载Echarts的js未成功,然后在Axure中的setTimout的js函数,无法被有效执行

火狐浏览器下设计方式

火狐浏览器下按照以下方式设计
新建页面、添加元件、命名 这些都与上边描述一致
在添加交互时,同样选择在加载时打开外部URL链接,链接的内容修改为

javascript:
var script = document.createElement('script');
script.type ='text/javascript';
script.src ='https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js';
document.head.appendChild(script);
var dom =$('[data-label=[[This.name]]]').get(0);
var myChart = echarts.init(dom);

编辑完成链接后,继续点击“添加动作”,使用Axure模拟添加定时函数;
继续点击“添加动作”,选择“触发事件” > “尺寸改变”;
新增交互 “尺寸改变” 时 “打开链接”,链接为以下内容

javascript:
var script = document.createElement('script');
script.type ='text/javascript';
script.src ='https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js';
document.head.appendChild(script);
var dom =$('[data-label=[[This.name]]]').get(0);
var myChart = echarts.init(dom);
var option = {tooltip: {trigger: 'item'},legend: {top: '5%',left: 'center'},series: [{name: 'Access From',type: 'pie',radius: ['40%', '70%'],avoidLabelOverlap: false,itemStyle: {borderRadius: 10,borderColor: '#fff',borderWidth: 2},label: {show: false,position: 'center'},emphasis: {label: {show: true,fontSize: 40,fontWeight: 'bold'}},labelLine: {show: false},data: [{ value: 1048, name: 'Search Engine' },{ value: 735, name: 'Direct' },{ value: 580, name: 'Email' },{ value: 484, name: 'Union Ads' },{ value: 300, name: 'Video Ads' }]}]
};
if (option && typeof option === 'object'){myChart.setOption(option, true);    
}

具体步骤如下图所示
在这里插入图片描述编辑完成后,发布预览
火狐浏览器展示效果图
在这里插入图片描述


http://www.ppmy.cn/ops/6481.html

相关文章

机器学习理论基础—支持向量机的推导(一)

机器学习理论基础—支持向量机的推导 算法原理 SVM:从几何角度,对于线性可分数据集,支持向量机就是找距离正负样本都最远的超平面,相比于感知机,其解是唯一的,且不偏不倚,泛化性能更好。 超平面 n维空间…

刷题DAY58 | LeetCode 739-每日温度 496-下一个更大元素 I

739 每日温度(medium) 给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在…

集成学习-Bagging与随机森林回归

reg_fRFR() reg_tDTR()#实例化决策树 cvKFold(n_splits5,shuffleTrue,random_state1412)#实例化验证方式 result_tcross_validate(reg_t#要进行交叉验证的评估器,X,y,cvcv,scoringneg_mean_squared_error#评估指标,return_train_scoreTrue#是否返回训练分数,后面这几…

GIS 数据格式转换

1、在线工具 mapshaper 2、数据上传 3、数据格式转换 导入数据可导出为多种格式:Shapefile、Json、GeoJson、CSV、TopJSON、KML、SVG

数据库基本概念和SQL基本语句

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。在数据库中,数据通常以表格的形式存储,这些表格包含了行和列。行通常代表记录,而列代表记录中的不同字段。数据库的设计允许对数据进行高效地查询、更新…

prompt提示词:影响力营销文案,让AI 帮你写营销文案

影响力营销文案提问技巧 1.我正在寻找一个有影响力的营销活动大纲,向我的[理想客户角色]展示我的[产品/服务],并说服他们在符合我们品牌价值的[有影响力的类型]的帮助下采取[期望的行动] 2.我需要一个有影响力的营销活动大纲&am…

微信小程序wx.getLocation 真机调试不出现隐私弹窗

在小程序的开发过程中,首页中包含要获取用户地理位置的功能,所以在这里的onLoad()中调用了wx.getLocation(),模拟调试时一切正常,但到了真机环境中就隐私框就不再弹出,并且出现了报错&#xff0…

代码质量与自动化:ESLint Prettier配置与使用

代码质量与自动化是现代软件开发中非常重要的一部分。ESLint和Prettier是两个流行的工具,可帮助开发人员提高代码质量并自动化代码格式化。 ESLint是一个JavaScript和TypeScript的静态代码分析工具,可以帮助开发人员在编写代码时发现和修复常见的问题&a…