2016-08-10 1 views
0

Как перезагрузить Chromium/Google Chrome (режим киоска) в Windows через NodeJS, чтобы он обычно при перезапуске запускал браузер, поскольку он использовался обычным человеком? (Когда я использую nodeJS каждый раз при перезагрузке из хрома/Google Chrome продолжают показывать мне, что некрасиво/раздражает/смертельными всплывающее окно на верхнем правом углу)Как отключить предупреждение восстановления сеанса Chrome с помощью nodejs?

NodeJS: скажите хром выключить

enter image description here

NodeJS: хром сказать, чтобы начать сейчас: на каждый начать он держит открытие, что некрасивый всплывающее окно в правом верхнем углу, и нет никакого способа, чтобы удалить, что без человека участвует

enter image description here

var wait_seconds = null; 

function reboot_chrome() { 
    // taskkill /f /im chrome.exe 
    run_cmd("taskkill", ["/f", "/im", "chrome.exe"], function(text) { 
    console.log (text); 
    }); 

    //$ cat C:/Python27/run.bat: 
    //@echo off 
    //@start /b cmd /c "C:\Users\tpt\AppData\Local\Chromium\Application\chrome.exe" --kiosk 

    wait_seconds = setTimeout(function() { 
    run_cmd("C:\\Python27\\run.bat", [], function(text){ 
     console.log(text); 
    }); 
    }, 20000); 

} 
+1

Вы также можете использовать опцию -app-auto-launch при запуске хром через cli –

ответ

3

Вы можете использовать переключатели --incognito или --disable-session-crashed-bubble --disable-infobars, но браузер не будет вести себя так, как ожидалось.

Самый чистый способ - изменить exit_type в настройках профиля пользователя. Вот небольшой пример делает именно это:

var fs = require("fs"); 
var path = require("path"); 
var exec = require("child_process").exec; 

//---------------------------------------------------- 
function restartChrome(){ 
    stopChrome(); 
    setTimeout(startChrome, 20000); 
} 

//---------------------------------------------------- 
function startChrome(){ 
    // change this path to your application path 
    exec('"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome" --kiosk') 
} 

//---------------------------------------------------- 
function stopChrome(){ 
    exec("taskkill /IM chrome.exe /f"); 
    setExitType(); 
} 

//---------------------------------------------------- 
function setExitType(callback){ 
    // change this path to your session preferences path 
    var preferencesPath = path.join(process.env["USERPROFILE"], "AppData/Local/Google/Chrome/User Data/Default/Preferences"); 

    fs.readFile(preferencesPath, "utf8", function(err, data){ 
     if (err) { return callback && callback(err); } 

     var txt = data.replace(/exit_type":"Crashed/g, 'exit_type":"None') 
         .replace(/exited_cleanly":false/g, 'exited_cleanly":true'); 
     fs.writeFile(preferencesPath, txt, "utf8", callback); 
    }); 
} 

restartChrome(); 

Не забудьте настроить пути к файлу приложения и предпочтения, как отмечено в комментариях.

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