找回密码
 立即注册

QQ登录

只需一步,快速开始

bytcib
金牌服务用户   /  发表于:2020-4-29 10:45  /   查看:5625  /  回复:12
20金币


活字格中只有单页加载和全局加载两种方式,现在有一个需求是在点击一个按钮后加载资源文件夹中的js文件,而不是不是在加载页面时就加载,请问怎么做到呢?
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

把js文件放在资源中,按钮中放js去在body中增加一个标签,标签的src写这个js文件的地址

12 个回复

倒序浏览
最佳答案
最佳答案
谢厅讲师达人认证 悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2020-4-29 10:45:13
来自 4#
把js文件放在资源中,按钮中放js去在body中增加一个<script>标签,标签的src写这个js文件的地址

评分

参与人数 1金币 +200 收起 理由
Simon.hu + 200 很给力!

查看全部评分

回复 使用道具 举报
Tracy.Liu讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2020-4-29 10:59:26
2#
这个如果你写代码如何实现呢?
我查了一下,这个写js应该可以在按钮中去加载一个js文件。
那么你在活字格这边,放一个按钮,按钮中写相应的js就可以了。您可以按这个思路试一试呢~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
bytcib
金牌服务用户   /  发表于:2020-4-29 12:08:53
3#
Tracy.Liu 发表于 2020-4-29 10:59
这个如果你写代码如何实现呢?
我查了一下,这个写js应该可以在按钮中去加载一个js文件。
那么你在活字格 ...

但是这样的话还是把加载这段js的时间放在页面加载中了呀,页面读取的过程会把这块代码包含进去
这个js文件比较大,之所以想动态来加载就是这个原因,但是现在还是加载页面时就要加载这段js

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
bytcib
金牌服务用户   /  发表于:2020-4-29 13:03:20
5#
谢厅 发表于 2020-4-29 12:16
把js文件放在资源中,按钮中放js去在body中增加一个标签,标签的src写这个js文件的地址
  1. console.log("字体加载...");
  2.     $.holdReady(true);    //hold住,等待a.js加载,后续代码不能执行
  3.     $.getScript('/GeneratedResources/UserFile/myfonts.js',function(){
  4.     console.log("字体加载完成");
  5.      $.holdReady(false);     //释放,a.js加载完成,继续执行后续代码
复制代码
这个方法本地测试是可行的,但是发布后执行会报这个错误:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
bytcib
金牌服务用户   /  发表于:2020-4-29 13:04:45
6#
bytcib 发表于 2020-4-29 13:03
这个方法本地测试是可行的,但是发布后执行会报这个错误:

后面少粘了个}
回复 使用道具 举报
谢厅讲师达人认证 悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2020-4-29 13:08:00
7#

说明这个路径有问题,你再研究一下路径
不行的话就把这个资源放在云上,通过CDN链接直接去加载,这样还会更快
回复 使用道具 举报
LukeLiu
超级版主   /  发表于:2020-4-29 15:13:11
8#
感谢楼上老板们的支持!
再补充另外一个方法——借用活字格内置的jQuery的getScript工具方法,实现你期望的延迟加载。比如这里有一篇文章有演示该方法的使用。

正如你现在做的,在按钮中设定触发执行JavaScript命令,楼主可以测试验证这方式适不适合你来处理这个需求。


回复 使用道具 举报
bytcib
金牌服务用户   /  发表于:2020-4-29 16:46:42
9#
LukeLiu 发表于 2020-4-29 15:13
感谢楼上老板们的支持!
再补充另外一个方法——借用活字格内置的jQuery的getScript工具方法,实现你期望 ...

其实getScript传入这个url:/GeneratedResources/UserFile/myfonts.js在本地已经执行成功了,可是发布后这个url就不对了,咱官方可以指导一下发布后的url怎么写吗?
回复 使用道具 举报
Eric.Liang讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2020-4-29 17:33:40
10#
bytcib 发表于 2020-4-29 16:46
其实getScript传入这个url:/GeneratedResources/UserFile/myfonts.js在本地已经执行成功了,可是发布后 ...

你可以尝试下这种方式
  1. Forguncy.ForguncyData.ForguncyRoot+"GeneratedResources/UserFile/myfonts.js"
复制代码
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部