BrowserSync предотвращает навигацию в Firefox (OS X)

Сначала я попытался настроить 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']);

person Caesar    schedule 04.01.2015    source источник


Ответы (1)


Я знаю, что это немного старо, но у меня была такая же проблема. Я не получил разрешения, но я спросил автора, и он заставил меня провести несколько тестов с использованием HTML-файла, отличного от Wordpress. Вот его ответ: https://github.com/BrowserSync/browser-sync/issues/435#issuecomment-73732362

Я до сих пор не понимаю, почему это не работает только в Firefox. В хроме и других браузерах они нормально линкуются. Похоже, что это что-то в firefox, только не знаю что.

person Aaron Olin    schedule 23.03.2015
comment
Спасибо @Аарон. Я оставил комментарий по этой проблеме со ссылкой на мой отчет здесь, на случай, если это поможет разработчику исправить это (если он заинтересован, что, похоже, не связано с его реакцией на ваш отчет). Конечно странно, что ошибка касается только Firefox. К сожалению, поскольку Firefox является моим основным браузером, это означает, что BrowserSync для меня непригоден. - person Caesar; 25.04.2015
comment
@Caesar - Спасибо за дальнейшее рассмотрение этой проблемы, я даже не подумал попытаться замедлить загрузку моей веб-страницы (я знаю, что вы этого не сделали, но я могу попробовать и посмотреть). У меня есть программа Charles Proxy, и я могу ограничить пропускную способность, чтобы она замедляла работу страницы. Может быть, я попробую это на обычном HTML-файле, чтобы увидеть, регистрируются ли клики. Честно говоря, BrowserSync великолепен, и я не мог найти ничего лучше, поэтому я просто по привычке просто удерживал CTRL и нажимал на ссылку, чтобы открыть новую вкладку. Тогда работает нормально! Бесполезное решение, но я все еще могу использовать синхронизацию браузера в FF. - person Aaron Olin; 25.04.2015