javascript - क्या ब्राउज़रों को ताज़ा करने के बिना ब्राउज़र में अद्यतन सामग्री इंजेक्ट कर सकती है?



gulp browser-extension (1)

मैं ब्राउज़र सर्किल + गुलप का उपयोग कुछ शांत ब्राउज़र प्लगइन्स के साथ कर रहा हूँ, परिपूर्ण पिक्सेल को एक नाम के लिए। मेरी समस्या हर बार जब मैं अपना काम बचाता हूं, तो ब्राउज़र को पुनः लोड करने के लिए मजबूर करता है, इस प्रकार ब्राउज़र को साफ़ करने और अपने ब्राउज़र एक्सटेंशन को बंद करना। इससे मुझे प्लगइन को पुन: सक्रिय करने और इस अक्षम वर्कफ़्लो को जारी रखने की आवश्यकता है। क्या किसी के पास कोई विचार है?

7/7/2015 अपडेट करें मैथ्यू के नीचे, एक समाधान के कुछ लिंक प्रदान किए गए हैं जो वेबसाईट्स को शामिल करते हैं, हालांकि मैं इसे अपने गुलप सेट-अप के साथ काम करने के लिए नहीं प्राप्त कर सकता।

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']);

ब्राउज़र-सिंक्रनाइज़ेशन कठबोली वह अपेक्षाकृत करते हैं क्योंकि एक्सटेंशन अपने स्वयं के सैंडबॉक्स में चलाने के लिए डिफ़ॉल्ट रूप से डिज़ाइन किए गए हैं

आपको इसके आसपास आने के लिए वेबकोट्स के साथ कुछ कस्टम लिखने की ज़रूरत है, मुझे परेशान नहीं हुआ कि मुझे एक त्वरित फ़ाइफ़िक्स की ज़रूरत है इसलिए मैंने इसे समाप्त कर लिया है:

https://chrome.google.com/webstore/detail/extensions-reloader/fimgfedafeadlieiabdeeaodndnlbhid

लेकिन यह आपको मदद करनी चाहिए:

http://blog.waymondo.com/2014-09-16-live-reloading-chrome-apps-and-extensions-with-gulp-and-websockets/





browser-sync