zhangxinxu / mobilebone

Single Page Switching bone(include page manage, events manage) for mobile web APP, Hybrid APP, Phonegap, PPT, Single-Screen PC page...
http://www.zhangxinxu.com/wordpress/?p=4381
MIT License
1.4k stars 327 forks source link

ajax访问html页面中js执行问题 #177

Open duyinghua opened 9 years ago

duyinghua commented 9 years ago

您好,是这样的:首先使用了Mobilebone.evalScript=true,然后在a页面通过ajax无缓存的访问b页面(如果有缓存的话b页面的js只会第一次执行),b页面通过api中说的外链形式加载并执行b.js。但是让我来回在a和b页面访问时候b.js的script会多次append到页面中,请问这样会不会对页面b.js中方法调用产生问题?如果通过记录历史只加载一次b.js,不重复加载相同的js,但是又要保证每次访问b页面的时候b.js都得执行一次。这有什么好的解决方案吗?会不会在下一个版本中修复一下

zhangxinxu commented 9 years ago

你好,可以试试使用onpagefirstinto回调,或者你判断下b.js是否已经加载过~

dancinglone commented 9 years ago

页面内的JS不是经常要做绑定数据之类的事情吗?如果把这些js的执行顺序调后一点是不是会好点,那就不会经常要处理dom未加载完的问题了。延时执行之类的办法我觉得都不太靠谱啊。因为这个问题,iscroll经常出现高度计算不足的问题,浪费了不少精力都没处理好,暂时只能用setTimeout的办法,timeout设定长了会影响体验。