众所周知,JQuery mobile在服务器重定向方面存在问题。
在网站上只有一个安全页面的最佳方法是什么?
这是一个场景:
UPD 这个问题不仅仅涉及移动网站,而是关于所有网站,它们都是密集使用ajax的。
答案 0 :(得分:3)
处理此问题的一种方法是检测进行跨域AJAX调用并尝试更改协议所固有的失败页面加载。 AJAX和页面转换无法使用此方法,但是,它可以防止您使用data-ajax=false
属性乱丢您的网站。这适用于两个方向(即,往返于HTTPS)。
$(document).bind("pageloadfailed", function (event, data) {
// Let the framework know we're going to handle things.
event.preventDefault();
// Attempt to change protocols
window.location.href = data.absUrl.indexOf('https://') > -1 ?
data.absUrl.replace('https://', 'http://') :
data.absUrl.replace('http://', 'https://');
// At some point, if the load fails, either in this
// callback, or through some other async means, call
// reject like this:
data.deferred.reject(data.absUrl, data.options);
});
答案 1 :(得分:0)
您有一个选项是设置jQuery mobiles默认值。你可以设置jQuery来设置所有链接不是ajax调用。因此,您仍然拥有JQM的外观和感觉,具有桌面网站的功能。 可在以下位置找到对JQM设置默认值的引用:http://jquerymobile.com/demos/1.1.1/docs/api/globalconfig.html