增加window.onload全局js代码功能
目前的功能只支持单个页面添加“加载时执行”代码,且一些系统页面是不提供“加载时执行”代码功能的,逐个页面添加真的是很麻烦。
实际应用中有一些代码是需要全局打开页面就执行的代码,比如统计页面访问情况的的场景。
希望新版本中能增加全局window.onload的JS代码功能,包括系统内置页面,这样可以让我们做一些特殊需求的时候更加灵活。
感谢葡萄城开发活字格这么优秀的快速开发工具。:hjyzw:
活字格页面是无刷新的,只是url变化而已。所以window.onload,只是在页面打开时才起作用。目前有变通的方法来模拟window onload.
function historyStatePushed(){
setTimeout(function(){
alert(Forguncy.Page.getPageName()); // 替换您需要的window onload的代码
}, 1000);
}
var originPushState = window.history.pushState;
window.history.pushState = function(){
originPushState.apply(this, arguments);
historyStatePushed();
};附件中也有此示例。
我们也会将您的需求反馈给开发团队。谢谢您的支持。
Noel 发表于 2018-1-29 14:11
活字格页面是无刷新的,只是url变化而已。所以window.onload,只是在页面打开时才起作用。目前有变通的方法 ...
不好使,系统内置页面不好用,且第一次加载时不能自动执行。 cyes 发表于 2018-1-29 17:24
不好使,系统内置页面不好用,且第一次加载时不能自动执行。
第一次加载就用window onload. Noel 发表于 2018-1-30 11:32
第一次加载就用window onload.
每个页面手动添加window.onload很麻烦的。
再就是系统页面是没有window.onload的。
既然提供了全局JS,如果不能自动全局调用,那还要全局JS干嘛?单个页面分别写JS不就好了? cyes 发表于 2018-1-30 20:40
每个页面手动添加window.onload很麻烦的。
再就是系统页面是没有window.onload的。
活字格将全局的js文件加入html页面中,浏览器中js文件运行的原理在html页面打开时执行一次。
所谓的全局,活字格做了特殊处理,让每个活字格页面可以调用。
前面我提供的解决方面可能没太讲清楚,我理一下:
用window.onload 加上 我前面的活字格示例中脚本一起使用。
window.onload 用于第一次加载时。
window.history.pushState(请见示例中的代码) 用于页面切换时。
这两个调用写到全局的js中,不用在每个页面中调用。
你原始需求已经加到需求列表中,我们会考虑实现的。 我把这示例优化了一下,让它支持第一次页面加载。请见附件。 :mj72: Noel 发表于 2018-1-31 08:56
我把这示例优化了一下,让它支持第一次页面加载。请见附件。
感谢 感谢二位的精彩,解决!
页:
[1]