Форум OperaFan
03-09-2010, 09:13 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Совет: Аналогично отвечая на хамство, в глазах стороннего наблюдателя вы оказываетесь на том же уровне. Будьте корректны ко всем, а о нарушении правил взаимной вежливости сообщайте модераторам (для этого есть специальная ссылка пониже каждого сообщения).
Страниц: [1] 2 3
  Печать  
Автор localStorage для Opera 8.5-10.1
Lex1
Разработчик

Версия Opera: 8.54 & more
Сообщений: 3 773


Просмотр профиля WWW
20-01-2010, 22:39

localStorage это такое хранилище информации, не имеющиее ограничений характерных для кукисов. Подробнее см. http://dev.w3.org/html5/webstorage/
В Opera 10.5 он уже реализован, а для предыдущих версий можно воспользоваться скриптом aa_localStorage.js. Только для Windows.

Собственно, установка делится на две части:
Обычное копирование файла в вашу папку userjs.
И создание MIME типа (Ctrl+F12->Загрузки->Добавить) «text/lse» с опцией «Открыть в другой программе» «...\userjs\aa_localStorage.js».


Для работы, естественно, нужен WSH. Убедится что он включен, можно запустив aa_localStorage.js. Появится окошко с сообщением:


Формат хранения информации - JSON (всё хранится в самом файле). Максимальная длина - 100Kb на домен.

Не реализовано: localStorage.clear ввиду некоторой небезопасности и localStorage.length.

____________________________________


Примерно тоже, но без wsh - бинарником. lse.exe должен быть в папке \profile\lse или (для однопользовательских/портабельных версий) в Opera\program. В MIME типе должен быть указан путь к lse.exe.
« Последнее редактирование: 13-02-2010, 19:26 от Lex1 » Записан

Sapienti sat
Katran
Новичок

Версия Opera: 10.53
Сообщений: 44



Просмотр профиля
22-01-2010, 16:28

Хммм...у меня заработало! Теперь блокировка срабатывает сразу, а не после перезапуска Oper-ы! ))) Спасибо! Только приложи к посту еще ссылку на свежий adblock.js!
« Последнее редактирование: 22-01-2010, 16:34 от Katran » Записан
Rodny
Ветеран

Версия Opera: 10.70 last / Win7, WinXP SP3
Сообщений: 1 254



Просмотр профиля
22-01-2010, 17:30

Lex1
После нажатия OK в окне с правилом выводится сообщение
Код:
---------------------------
Windows Script Host
---------------------------
Error! File not exist: D:\Programs\Opera 10\profile\temporary_downloads\default (3)
---------------------------
ОК   
---------------------------
Цифра — счётчик. При этом каждый раз создаются файлы "default (3)", куда и записывается строка с правилом..
При отключённом aa_localStorage.js с куками всё нормально работает.
aa_localStorage.js 1.0
adblock.js 1.3.10
Opera 10.10 1893
Win7
Записан

Алекси́я - (от греч. а... — отрицательная приставка и léxis — слово, речь), утрата способности читать или понимать прочитанное вследствие поражения височно-теменно-затылочной области левого полушария (у правшей). Часто сочетается с афа́зи́ей и аграфи́ей.
Lex1
Разработчик

Версия Opera: 8.54 & more
Сообщений: 3 773


Просмотр профиля WWW
22-01-2010, 17:41

Rodny
Попробуйте обновить aa_localStorage.js. Там была неудачная проверка на путь к папке.
Записан

Sapienti sat
Rodny
Ветеран

Версия Opera: 10.70 last / Win7, WinXP SP3
Сообщений: 1 254



Просмотр профиля
22-01-2010, 17:49

Lex1
Да, спасибо, обновление помогло.
Записан

Алекси́я - (от греч. а... — отрицательная приставка и léxis — слово, речь), утрата способности читать или понимать прочитанное вследствие поражения височно-теменно-затылочной области левого полушария (у правшей). Часто сочетается с афа́зи́ей и аграфи́ей.
evilone
Профи

Версия Opera: 10.10
Сообщений: 277



Просмотр профиля
23-01-2010, 15:38

а для работы старых скриптов (те которые записывали информацию в куки) нужно специально их переделывать или оно само должно подхватить? например robosticky.js
Записан
Lex1
Разработчик

Версия Opera: 8.54 & more
Сообщений: 3 773


Просмотр профиля WWW
31-01-2010, 19:06

http://ruzanow.ru/opera/lse.zip

Примерно тоже, но без wsh - бинарником. lse.exe должен быть в папке profile\something или Opera\program. В MIME типе должен быть указан путь к нему.

evilone
Да, нужно править.
Записан

Sapienti sat
Taciturn
Осваивающий

Версия Opera: 10.70.3488
Сообщений: 75


Просмотр профиля
01-02-2010, 08:43

Да, нужно править.
А не могли бы вы переписать Textarea Backup Button? Некоторые сайты жутко глючат из-за создаваемых им кукисов.
Записан
Lex1
Разработчик

Версия Opera: 8.54 & more
Сообщений: 3 773


Просмотр профиля WWW
01-02-2010, 11:50

Taciturn
Я так понимаю вы используете aagmfunctions.js? Тогда замените в нём function GM_setValue ... function GM_deleteValue...  на
Код:
function GM_getValue(name){return localStorage.getItem(name)};
function GM_setValue(name, value){if(localStorage.getItem(name) != value)localStorage.setItem(name, value)};
function GM_deleteValue(name){localStorage.removeItem(name)};

Дополнено : 01-02-2010, 11:41
Хотя для такого применения оно не слишком юзабельно.
« Последнее редактирование: 01-02-2010, 13:55 от Lex1 » Записан

Sapienti sat
Goldf
Новичок

Версия Opera: 9.64
Сообщений: 8


Просмотр профиля
02-02-2010, 22:25

Я так понимаю вы используете aagmfunctions.js? Тогда замените в нём function GM_setValue ... function GM_deleteValue...  на
Использую для одного сайта скрипт, в котором GM_setValue ... function GM_deleteValue. Из-за ограничения в количестве кукисов в опере для одного домена, приходится себя ограничивать в возможностях (в фф с этим получше). Поставил Ваш aa_localStorage.js и заменил, как выше написали функции GM_. Но вылазит окно с ошибкой сервера сценариев Windows "разрешение отклонено" на строке
Код:
if(startPos != -1 && endPos != -1){
при работе функции GM_setValue.
Кстати в aa_localStorage.js записывается то, что нужно.
« Последнее редактирование: 02-02-2010, 22:26 от Goldf » Записан
Lex1
Разработчик

Версия Opera: 8.54 & more
Сообщений: 3 773


Просмотр профиля WWW
03-02-2010, 01:07

simpampon
создание MIME типа

Goldf
Варианты:

Антивирус отрабатывает -> используйте lse.exe
Старый wsh -> обновить или использовать lse.exe
Не успевает закрыться aa_localStorage.js -> попробуйте поменяйте местами:
Код:
var f = fso.OpenTextFile(path, 1, 0);
var s = f.ReadAll().replace(/\0/g, '');
f.Close();
и
Код:
f = fso.OpenTextFile(WScript.ScriptFullName, 1, 0);
var str = f.ReadAll().replace(/\0/g, '');
f.Close();
Записан

Sapienti sat
Lex1
Разработчик

Версия Opera: 8.54 & more
Сообщений: 3 773


Просмотр профиля WWW
03-02-2010, 11:28

Ну а галочку "Передавать веб-адрес" зачем ставили?
Записан

Sapienti sat
Goldf
Новичок

Версия Opera: 9.64
Сообщений: 8


Просмотр профиля
03-02-2010, 11:51

Варианты:
Антивирус отрабатывает -> используйте lse.exe
Старый wsh -> обновить или использовать lse.exe

wsh стоит версии 5.7. Поставил lse.exe - один скрипт полностью заработал. Я уже было обрадовался, но при работе другого скрипта возникает ошибка приложения lse.exe EInvalidCast.

Не успевает закрыться aa_localStorage.js -> попробуйте поменяйте местами:
Поменял, изменилась только строка ошибки. Теперь:
Код:
var startStr = '//storage begin\n', endStr = '\n//storage end', startLen = startStr.length;
Записан
Lex1
Разработчик

Версия Opera: 8.54 & more
Сообщений: 3 773


Просмотр профиля WWW
03-02-2010, 12:39

Goldf
Я так понимаю, антивирус таки используется. Какой именно? Ну и попробуйте перед «var add = json_parse(s);» добавить «WScript.Sleep(1000);»

Цитировать
ошибка приложения lse.exe EInvalidCast
LkJSON - парсер довольно кривенький, я в курсе. Попробуем поменять...
Записан

Sapienti sat
Goldf
Новичок

Версия Opera: 9.64
Сообщений: 8


Просмотр профиля
03-02-2010, 13:32

Я так понимаю, антивирус таки используется. Какой именно?
Стоит DrWeb, Outpost, Win XP SP2 . Пробовал отключить и то  и другое - не влияет.
Ну и попробуйте перед «var add = json_parse(s);» добавить «WScript.Sleep(1000);»
Добавил. Тут вообще не понятно, работает не стабильно. Сначало никаких ошибок, но в хранилище не записывались полные данные. Потом начала  возникать ошибка "запрошенную операцию нельзя выполнить для файла с открытой пользователем сопоставленной секцией", строка
Код:
var startPos = str.indexOf(startStr);
и тоже неполные данные в хранилище.
Записан
Страниц: [1] 2 3
  Печать  
 
Перейти в:  

OperaFan © 2006-2010, OperaFan Team
Powered by SMF | SMF © 2006, Simple Machines LLC | Sitemap