2016-09-05 2 views
0

Для электронного печенья я использовал https://www.npmjs.com/package/electron-cookiesElectron печенья

Затем добавили это в моем HTML

<script type="text/javascript"> 
require('electron-cookies') 
function createCookie(name,value,days) { 
    if (days) { 
    var date = new Date(); 
    date.setTime(date.getTime()+(days*24*60*60*1000)); 
    var expires = "; expires="+date.toGMTString(); 
    } 
    else var expires = ""; 
         document.cookie = name+"="+value+expires+"; path=/"; 
        } 

        function getCookie12(name) { 
         var regexp = new RegExp("(?:^" + name + "|;\s*"+ name + ")=(.*?)(?:;|$)", "g"); 
         var result = regexp.exec(document.cookie); 
         alert(document.cookie); 
         return (result === null) ? null : result[1]; 
        } 
    </script> 

и назвал методы:

<button onclick="createCookie('ppkcookie','testcookie',7)">Set Cookie</button> 
<button onclick="getCookie12('ppkcookie')">Get Cookie</button> 

но alert(document.cookie) показывает мне только

ppkcookie не ppkcookie=testcookie

Любые идеи, почему?

Большое спасибо

+0

Почему вы не используете файлы cookie, предоставленные должным образом электроном? –

+0

Привет, у вас есть ссылка, как это сделать. –

ответ

2

Это то, как электрон обрабатывает свои собственные куки.

var session = require('electron').remote.session; 
var ses = session.fromPartition('persist:name'); 

Это как установить куки

 function setCookie(data, name) { 
     var expiration = new Date(); 
     var hour = expiration.getHours(); 
     hour = hour + 6; 
     expiration.setHours(hour); 
     ses.cookies.set({ 
      url: BaseURL, //the url of the cookie. 
      name: name, // a name to identify it. 
      value: data, // the value that you want to save 
      expirationDate: expiration.getTime() 
     }, function(error) { 
      /*console.log(error);*/ 
     }); 
    } 

Это, как получить значение куки

function getCookie(name) { 
     var value = { 
      name: name // the request must have this format to search the cookie. 
     }; 
     ses.cookies.get(value, function(error, cookies) { 
      console.console.log(cookies[0].value); // the value saved on the cookie 
     }); 
    } 

Для получения дополнительной информации о печенье электрона вы можете прочитать here

+1

Большое спасибо, мне удалось сэкономить и получить coookie :) –

+0

Здравствуйте, если у вас есть время, у меня есть еще один вопрос: если я пытаюсь использовать \t const {session} = require ('electron'); в статическом html он обеспечивает, что сессия undefiend ..... любая идея? –

+0

Я столкнулся с такой же проблемой, но я не знаю, почему это не работает. В моем примере я понял, как назвать это из html или внешнего файла js. –

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