javascript - BrowserSync 阻止在 Firefox (OS X) 中导航

标签 javascript firefox gulp browser-sync

我最初尝试设置 BrowserSync 来代理我当前的 .dev 站点。
我有以下问题:

  • 页面加载速度非常慢。非常

  • 在 Firefox 中(但不是在 Safari 中),当我单击任何链接时,当前页面将重新加载而不是跟随该链接。

然后我更改为手动嵌入代码段。不理想,但它解决了速度问题 - 有趣的是,它似乎也部分解决了导航阻塞问题。

现在它只阻塞了大约一半的时间。在我看来,如果页面加载时间少于半秒左右,那很好,但如果时间超过半秒,BrowserSync 将停止它并重新加载当前页面。
(这解释了为什么禁用代理部分修复了它,因为使用代理页面加载总是需要大约 20 秒。)

我已经在普通的 Firefox 34 和相当干净的 Firefox Dev Edition 36 安装中尝试过这个,几乎没有安装任何扩展。 (我禁用了 LiveReload 扩展以防导致问题。但事实并非如此。)
正如我所提到的,它在同一台机器上的 Safari 中运行良好……这看起来很奇怪。

我正在通过 gulp 运行 BrowserSync。

gulpfile.js(为清楚起见省略了一些不相关的部分):

var gulp = require('gulp');

var sass = require('gulp-sass');
var browsersync = require('browser-sync');
var reload = browsersync.reload;

gulp.task('sass', function(){
    gulp.src('./sass/**/*.scss')
        .pipe(sass())
        .pipe(gulp.dest('./'))
        .pipe(reload({stream:true}))
});

gulp.task('watch', function(){
    browsersync({online: false});
    gulp.watch('./sass/**/*.scss', ['sass']);
    gulp.watch('**/*.php', reload);
});

gulp.task('default', ['sass', 'watch']);

最佳答案

我知道这有点老了,但我也遇到了同样的问题。我没有得到解决方案,但我问了作者,他让我使用非 wordpress html 文件做了一些测试。这是他的回答:https://github.com/BrowserSync/browser-sync/issues/435#issuecomment-73732362

我仍然对为什么这不仅仅适用于 Firefox 感到困惑。在 chrome 和其他浏览器中,它们可以很好地链接。似乎是 firefox 中的东西,只是不知道是什么。

关于javascript - BrowserSync 阻止在 Firefox (OS X) 中导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27761775/

相关文章:

firefox - css3 边框图像 firefox 15.0.1

javascript - gulp-eslint 不会在控制台上抛出任何错误

angular - Angular2 的 gulp 丑化抛出错误

javascript - 使用嵌套对象创建复杂形式的 JSON 表示并更新 Backbone 模型

javascript - React Native 密码字段切换不起作用

javascript - Three.js:在两个方位 Angular 之间来回旋转一个物体

javascript - JavaScript 中的事件循环如何工作? process.nextTick 和 setImmediate 如何工作?

python - Selenium - Firefox 的 MoveTargetOutOfBoundsException

javascript - event.preventDefault() 和 event.returnValue = false 在 Firefox 中都不起作用

gruntjs - NPM vs. Bower vs. Browserify vs. Gulp vs. Grunt vs. Webpack