Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript browsersync是否可以在不刷新的情况下在浏览器中插入更新的内容?_Javascript_Gulp_Browser Extension_Browser Sync - Fatal编程技术网

Javascript browsersync是否可以在不刷新的情况下在浏览器中插入更新的内容?

Javascript browsersync是否可以在不刷新的情况下在浏览器中插入更新的内容?,javascript,gulp,browser-extension,browser-sync,Javascript,Gulp,Browser Extension,Browser Sync,我正在使用一些很酷的浏览器插件,举个例子。我的问题是每次保存我的工作时,都会强制重新加载浏览器,从而清除浏览器并关闭浏览器扩展。这导致我不得不重新激活插件并继续这个低效的工作流程。有人有什么想法吗 更新日期:2015年7月7日 下面,Matthew提供了一些链接,指向一个包含WebSocket的解决方案,但是我无法让它与我的gulp设置一起工作 var gulp = require('gulp'), open = require('gulp-open'), browserSync

我正在使用一些很酷的浏览器插件,举个例子。我的问题是每次保存我的工作时,都会强制重新加载浏览器,从而清除浏览器并关闭浏览器扩展。这导致我不得不重新激活插件并继续这个低效的工作流程。有人有什么想法吗

更新日期:2015年7月7日 下面,Matthew提供了一些链接,指向一个包含WebSocket的解决方案,但是我无法让它与我的gulp设置一起工作

var gulp = require('gulp'),
    open = require('gulp-open'),
    browserSync = require('browser-sync').create();

var WebSocketServer, socket, wss;

WebSocketServer = require('ws').Server;

wss = new WebSocketServer({
    port: 9191
});

var reload = browserSync.reload;

var paths = {
    css: 'app/REPSuite/web/static/css/*.css',
    js: 'app/REPSuite/web/static/js/*.js',
    html: 'app/*.html'
};

gulp.task('reload', function() {
    var client, i, len, ref, results;
    ref = wss.clients;
    results = [];
    for (i = 0, len = ref.length; i < len; i++) {
        client = ref[i];
        results.push(client.send('reload'));
    }
    return results;
});

socket = null;

this.reloadClient = {
    connect: function() {
        socket = new WebSocket('wss://localhost:9191');
        socket.onopen = function() {
            return console.log('connected');
        };
        socket.onclose = function() {
            return console.log('closed');
        };
        return socket.onmessage = function(message) {
            if (message.data === "reload") {
                return window.chrome.runtime.reload();
            }
        };
    },
    disconnect: function() {
        return socket.close();
    }
};

// Static Server + watching scss/html files
gulp.task('serve', ['css'], function() {

    browserSync.init({
        server: "./app",
        files: [paths.html, paths.css, paths.js]
    });

    gulp.watch(paths.css, ['css']);
    gulp.watch(paths.html).on('change', browserSync.reload);
});

// Compile sass into CSS & auto-inject into browsers
gulp.task('css', function() {
    return gulp.src(paths.css)
        .pipe(browserSync.stream());
});

gulp.task('default', ['serve','reload']);
var gulp=require('gulp'),
打开=需要('gulp-open'),
browserSync=require('browser-sync')。create();
var-WebSocketServer,socket,wss;
WebSocketServer=require('ws')。服务器;
wss=新WebSocketServer({
港口:9191
});
var reload=browserSync.reload;
变量路径={
css:'app/REPSuite/web/static/css/*.css',
js:'app/REPSuite/web/static/js/*.js',
html:'app/*.html'
};
gulp.task('reload',function(){
var客户端,i,len,ref,结果;
ref=wss.clients;
结果=[];
对于(i=0,len=ref.length;i
浏览器同步不能以本机方式进行,因为默认情况下扩展设计为在自己的沙箱中运行

你需要用WebSocket编写一些自定义的东西来解决这个问题,我没有费心,因为我需要一个快速修复程序,所以我最终使用了这个:

但这应该能帮助你:


我发现了这个:嗨,马修,首先感谢您提供的资源!很抱歉耽搁了,但我终于有机会使用您列出的
waymondo
链接进行黑客攻击,但是我无法让它工作。我没有犯错误;我想我的问题可能是服务器
browserSync
运行与
websocket
版本?创建一个单独的问题如果您遇到问题,请在此处进行故障排除并通过评论链接,我将密切关注。