今天在做,列表页到内容页的切换的切换的时候,发现第一次点击,图片远远超出了手机屏幕大小。但是当我刷新内容页面的时候,图片又可以恢复为正常符合手机屏幕大小。
通过浏览器检查发现。第一次点击,切换到内容页面的时候,css样式没有加载。所以,忽然想到,jquery mobile的特点就是所有链接都会使用异步加载。很有可能是内容先加载完成了,可是位于head里面的css样式没有加载。于是想把ajax异步请求关掉。
非常幸运的是,这个问题很热门啊。在官网问题信息列表中第一个就是这个问题。原页面:
http://view.jquerymobile.com/1.3.0/docs/faq/scripts-and-styles-not-loading.php
原因差不多,即,在加载的时候,只会加载page里面的内容,head头信息的内容没有加载.,
总之解决问题有两种
1,根据data-role="page"的id,可以通过js。在这个page开始加载的时候,先把css加载完成.
2.也就是最简单的,即把所有页面的css,js样式全部一样。
3.把这个页面的特殊的css信息,放在page的最后。(个人倾向最后一种,it works)