emlog侧边栏日历显示正在加载中解决方法(包括https和http)
时间:2015-11-6 16:48 作者:admin 分类: emlog
这几天在论坛看到王老师 @王语双 发帖说,他的emlog内页日历显示不出来,一直显示 --加载中(包括https和http),却一直显示不出来,如图:
王老师的是http网站,我的是https的,也是加载不出来,在论坛看到的答复中知道大概是这三点的原因造成的:
- js冲突;
- 网络问题;
- 301跳转问题;
王老师的情况最后发现是属于网络问题,即有时候网络高峰期的时候,移动网络有可能出现这种情况;
js冲突一般在浏览器的开发者工具条里面可以看出来,这里不做讨论;
网络问题嘛,没法解决,自己换服务商吧!
301跳转问题:
没做好301跳转的,比如没有做mrxn.net 301跳转到 www.mrxn.ne t的时候,访问mrxn.net 就有可能出现这种情况,一般在开发者工具条里面有提示:
XMLHttpRequest cannot load http://www.wys.me/?action=cal&randnum=0.19238296267576516. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://wys.me' is therefore not allowed access.
我的站点属于https加密的类型,所以提示的就是如下信息:
Mixed Content: The page at 'https://mrxn.net/' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'https://mrxn.net/?action=cal&randnum=0.8051533969119191'. This request has been blocked; the content must be served over HTTPS.大概意思就说,这个页面使用的是https加载https://mrxn.net,但是请求里面混杂非加密的请求
https://mrxn.net?action=cal&randnum=0.8051533969119191,因此这个请求被服务器阻断了,因为服务器要求请求必须是https加密的。
我在论坛里面回帖说了一下我的https也不加载,得到了基友hackhp @hackhp 的如下答复:
修改/include/lib/function.base.php里面的
return 'http://' . $_SERVER['HTTP_HOST'] . $matches[0];
修改为:
return '//' . $_SERVER['HTTP_HOST'] . $matches[0];我做了测试,的确修改后就可以加载了
函数的注释显示是
/**
* 获取站点地址(仅限根目录脚本使用,目前仅用于首页ajax请求)
*/
也就是说这个函数是用于ajax请求获取网站地址的,那么,修改成如下形式也是可以的:
return 'https://' . $_SERVER['HTTP_HOST'] . $matches[0];结果证明是可行的。
emlog侧边栏日历显示正在加载中解决方法(包括https和http)这个小问题在此小计就结束了,在此记录分享可能需要的朋友,希望可以帮到你们。
推荐阅读: