【问题标题】:BrowserSync share sessionBrowserSync 共享会话
【发布时间】:2017-04-06 01:48:49
【问题描述】:

我想使用 BrowserSync 在 COTS(商业现货)系统上进行一些测试和开发 - 像 Sharepoint 一样思考,但它不是 Sharepoint。

由于这是一个 COTS 系统,我们无法禁用的安全功能之一是每个用户 ID 只允许一个活动会话。同步多个浏览器并尝试登录将失败,因为 COTS 系统检测到多个用户登录。

有没有办法让浏览器同步将窗口/浏览器视为“主”会话,并使用来自主窗口的响应简单地重新绘制“从属”?而不是复制所有操作并导致从不同浏览器发送多个请求?

【问题讨论】:

    标签: gulp browser-sync


    【解决方案1】:

    我遇到了同样的问题,这是我的解决方案(我将 cookie 保存在 BS 中并一直使用它,它对我很有效):

    gulp.task('browser-sync', function () {
        var cookies = {};
    
        browserSync.init({
            proxy: {
                target: "localhost",
                proxyReq: [
                    function (proxyReq) {
                        var cookieText = Object.keys(cookies).map(function (name) {
                            return name + '=' + cookies[name];
                        }).join('; ')
                        if (proxyReq._headers.cookie) {
                            proxyReq.setHeader('cookie', cookieText);
                        }
                    }
                ],
                proxyRes: [
                    function (proxyRes, req, res) {
                        if (proxyRes.headers && proxyRes.headers['set-cookie']) {
                            proxyRes.headers['set-cookie'].forEach(function (cookie) {
                                var name, value;
                                var t = cookie.split(';')[0].split('=');
                                name = t[0];
                                value = t[1];
                                cookies[name] = value;
                            });
                        }
                    }
                ]
            }
        });
    });
    

    【讨论】:

      猜你喜欢
      • 2012-08-24
      • 2011-09-12
      • 2016-06-05
      • 2015-08-28
      • 1970-01-01
      • 1970-01-01
      • 2012-04-21
      • 2023-03-19
      • 2010-12-17
      相关资源
      最近更新 更多