JQuery手机.网站上只有一个https页面

JQuery mobile. Only one https page on site

本文关键字:有一个 https 页面 手机 网站 JQuery      更新时间:2023-09-26

正如我们所知,JQuery mobile在从服务器重定向方面存在问题。

网站上只有一个安全页面的最佳方式是什么?

这是一个场景:

  1. 用户转到站点的根目录->
  2. 用户转到付款页面->
  3. <-服务器将用户重定向到https支付页面#在此步骤中,我们可以使用数据ajax=false
  4. 用户在支付页面转到任何其他页面->#我们应该拥有所有页面上带有数据的链接ajax=false?看起来很糟糕。什么是正确的如何将用户从此页面转移到不安全的页面

UPD这个问题不仅涉及移动站点,还涉及所有密集使用ajax的站点。

处理此问题的一种方法是检测跨域AJAX调用所固有的失败页面加载,并尝试更改协议。AJAX和页面转换使用这种方法是不起作用的,但是,它可以防止你不得不在网站上乱丢data-ajax=false属性。这在两个方向上都有效(即到HTTPS和从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);
});

您可以选择设置jQuery mobiles的默认值。您可以将jQuery设置为将所有链接设置为非ajax调用。因此,您仍然拥有JQM的外观和感觉,具有桌面网站的功能。对JQM设置默认值的引用可以在以下位置找到:http://jquerymobile.com/demos/1.1.1/docs/api/globalconfig.html

相关文章: