Сначала я попытался настроить BrowserSync для проксирования моего текущего сайта .dev.
У меня возникли следующие проблемы:
Загрузка страниц была очень медленной.
В Firefox (но не в Safari) при переходе по любой ссылке текущая страница перезагружалась, а не переходила по ссылке.
Затем я переключился на ручное встраивание фрагмента. Не идеально, но это решило проблему скорости — и, что интересно, казалось, что оно частично также решило проблему блокировки навигации.
Теперь он блокируется примерно в половине случаев. Мне кажется, что если страница загружается менее чем за полсекунды или около того, это нормально, но если требуется больше, BrowserSync останавливает ее и перезагружает текущую страницу.
(Это объясняет, почему частичное отключение прокси-сервера исправил это, так как с прокси-страницами всегда требовалось около 20 секунд для загрузки.)
Я пробовал это в обычном Firefox 34 и в довольно чистой установке Firefox Dev Edition 36, почти без установленных расширений. (Я отключил расширение LiveReload на случай, если оно вызывало проблему. Это не так.)
Как я уже говорил, оно отлично работает в Safari на том же компьютере... что кажется странным.
Я запускаю BrowserSync через gulp.
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']);