Из введенного скрипта вы можете отправить куки на расширение.Поэтому при создании расширения у вас есть global.html и injected.js.
injected.js:
var cookies = document.cookie;
safari.self.tab.dispatchMessage("setCookies",cookies);
global.html (без тегов HTML):
var cookies = null;
function getCookies(incMsg) {
cookies = incMsg.message;
alert('I received them :) \n\n'+cookies);
}
safari.application.addEventListener("message",getCookies,false);
Приведенный выше код будет отправлять все файлы cookie на расширение каждый раз, когда вы загружаете страницу.Тогда, конечно, вам все равно нужно зачитать куки.Я использовал что-то вроде следующей функции (в global.html):
function readCookie(name) {
if(cookies) {
var nameEQ = name + "=";
var ca = cookies.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
}
Удачи!