2016-06-08 5 views
0

Я использую электрон для создания приложения. До сих пор мне удалось загрузить файл css (обновленная версия). Но неожиданно я обнаружил, что если я внес изменения в свой файл css, изменения больше не будут отражаться на электроне. Аналогичная ситуация происходила в случае, когда я использовал ту же самую функцию в браузере Chrome, но я получил ее, очистив кеш. Я думаю, что очистка кеша в электроне может помочь мне, но я не знаю, как я могу это сделать. я получил этот кусок кода из где-то, но я не знаю, как использовать это :(Электрон не использует обновленный файл css

var remote = require('remote'); 
var win = remote.getCurrentWindow(); 
win.webContents.session.clearCache(function(){ 
//some callback. 
} 

Может кто-то один наставит меня о том, как я могу исправить мою проблему

ОБНОВЛЕНО:.

const electron = require('electron'); 
const app = electron.app; 
const BrowserWindow = electron.BrowserWindow; 
var mainWindow = null; 

app.on('window-all-closed', function() { 
app.quit(); 
}); 


app.on('ready', function() { 
var subpy = require('child_process').spawn('python', ['./index.py']); 

var rq = require('request-promise'); 
var mainAddr = 'http://localhost:5000'; 

var openWindow = function(){ 
mainWindow = new BrowserWindow({width:1200, height: 700}); 

mainWindow.loadURL('http://localhost:5000'); 
mainWindow.webContents.openDevTools(); 
mainWindow.on('closed', function() { 
    mainWindow = null; 
    subpy.kill('SIGINT'); 
    }); 
}; 

var startUp = function(){ 
rq(mainAddr) 
    .then(function(htmlString){ 
    console.log('server started!'); 
    openWindow(); 
    }) 
    .catch(function(err){ 
    startUp(); 
    }); 
}; 

startUp(); 
}); 

ответ

1

с сайта документации:

const {BrowserWindow} = require('electron'); 

let win = new BrowserWindow({width: 800, height: 600}); 
win.loadURL('http://github.com'); 

const ses = win.webContents.session.clearCache(function() { 
}); 

Итак, следующая функция вернет вам окно и сохранит его в переменной win.

var remote = require('remote'); 
var win = remote.getCurrentWindow(); 

И затем, используя ту же самую функцию, что у вас есть как на сайте док:

win.webContents.session.clearCache(function(){ 
//some callback. 
} 

Вы очистить кэш из текущего окна у вас есть. Если вы сохранили значение своих окон раньше на какой-либо переменной, вам не нужно получать его с помощью функции getCurrentWindow()

+0

Спасибо за ответ! На самом деле я не могу получить то, что обратный вызов здесь (i я не могу связать). Вы упомянули «используя ту же функцию, что у вас есть на сайте doc», можете ли вы быть более выразительным в этом :) – crystal

+0

На вашем коде найдите переменную, в которой хранится значение окна как: пусть победа = новый BrowserWindow ({ширина: 800, высота: 600}); И всякий раз, когда вы хотите, чтобы очистить кэш написать win.webContents.session.clearCache (функция() {}) – LuisPinto

+0

I обновили мой вопрос w с моим кодом .... Можете ли вы указать, где внести изменения :) – crystal

Смежные вопросы