Axure秘笈 - 你绝对不知道的技巧
往父级框架中注入代码的方法
新建全局变量,变量名随意,变量值加入如下代码:
🚧 注意:注意此方法不适用于发布后的本地预览(即双击html文件查看)
插入JS
<script>你的JS代码</script>
插入CSS
<style>#topPanel{display:none;}/*隐藏顶部工具栏*/</style>
往子页面注入代码的方法
网络字体法
🚧 注意:这种方法注入的代码执行时,jquery
和$axure
还未完成初始化
- 按
Ctrl+Shift+O (Windows)
或Cmd+Option+O (mac)
打开发布设置窗口,点击字体选项卡,添加一个新的网络字体 在
Link to .css
模式下,在文件URL输入框加入这段代码:"><script src="你的JS地址"></script><link href="
在
@font-face
模式下,在文本域内加入如下代码:}</style> <script src="你的JS地址"></script> <style>*{
交互链接法
🚧 注意:这种方法由于要等待$axure
初始化后才执行,所以需要在页面元素显示后才能接管控制
添加一个"加载时(onLoad)"触发条件,然后插入一个"打开外部链接"的交互,在地址栏输入以下代码:
javascript:{ /* 你的JS代码 */ }
- 你也可以在「内联框架」的地址栏中填写代码,就是空间有点窄。
灯箱效果的背景模糊
按照 网络字体法,粘贴如下代码:
}div[id$='_lightbox']{
position:fixed !important;
opacity:1 !important;
background-color:rgba(0,0,0,.5) !important;
backdrop-filter:blur(5px);
任意矩形下的背景模糊
- 为矩形设置一个样式,并把样式名称改为
aero
按照 灯箱效果的背景模糊,把代码修改为:
}div[id$='_lightbox'],.aero{ position:fixed !important; opacity:1 !important; background-color:rgba(0,0,0,.5) !important; backdrop-filter:blur(5px);
本地双击运行axure发布的html文件,无法加载代码的解决方法
如果是通过 $axure.utils.loadJS('你的JS地址');
加载脚本,会触发ajax请求,由于安全限制浏览器是无法在"file:///"协议下用这种方法加载js的,这个时候只能用原生写法来插入外部JS文件,并通过回调判断加载是否完成,代码如下:
function loadJS(url, callback=function(){}) {
if (!url) return;
var js = document.createElement('script');
js.setAttribute('type', 'text/javascript');
js.setAttribute('src', url);
document.querySelector('body').appendChild(js);
js.onload = callback;
}
自动生成标注给前端
按照 网络字体法,插入如下代码:
}</style>
<script src="https://cdn.jsdelivr.net/npm/axure-redline-tool@latest/web/axure-redline-plugin.js"></script>
<style>*{
待续...