2015-06-10 2 views
8

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

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

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

मैं इस पाया: https://www.npmjs.com/package/bs-html-injector – Ryuk87

उत्तर

2

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

आप WebSockets के साथ कुछ कस्टम लिखने के लिए है कि चारों ओर पाने के लिए, मैं परेशान नहीं किया था cuz मैं एक QuickFix की जरूरत तो मैं इस का उपयोग कर समाप्त हो गया की जरूरत है:

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/

+0

हाय मैथ्यू, संसाधनों के लिए सबसे पहले धन्यवाद! देरी के लिए खेद है, लेकिन आखिर में आपके द्वारा सूचीबद्ध 'वेंडमंडो' लिंक के साथ हैक करने का अवसर मिला, हालांकि मैं इसे काम नहीं कर सका। मुझे त्रुटियां नहीं मिल रही हैं; मुझे लगता है कि मेरी समस्या सर्वर 'ब्राउज़र सिंक' हो सकती है 'websocket' संस्करण बनाम? –

+0

यदि आपको समस्या निवारण और यहां टिप्पणी के माध्यम से लिंक करने में समस्याएं आ रही हैं तो एक अलग प्रश्न बनाएं, मैं इस पर नजर रखूंगा। –

संबंधित मुद्दे

 संबंधित मुद्दे