2017-01-23 1 views
0

Итак, компания, над которой я работаю, разрабатывает приставку, использующую Qtwebkit 2.3.5 в качестве своего внешнего решения.localStorage установлен в NULL на объекте окна (qtwebkit 2.3.5)

Мне нужно попробовать сделать работу VOD третьей стороны с системой, но на первом этапе у меня проблема.

Платформа VOD (у меня нет доступа к ее исходному коду) использует localStorage для хранения нескольких параметров, и, по-видимому, Qtwebkit 2.3.5 не реализует ее.

Моя первая мысль заключалась в использовании LocalStorage Polyfill, но после того, как я попробовал несколько и не стал нигде, я начал расследование.

Свойство localStorage в глобальном объекте окна по умолчанию равно null, и система не позволяет мне его изменить.

Это код, который я пытаюсь:

window.testStorage = "TEST_st"; 
console.log(window.localStorage); 
console.log(window.localStorage = "TEST"); 
console.log(window.localStorage); 
console.log(window.testStorage); 

Глядя на консоли я получаю эти журналы:

неопределенного TEST нуля TEST_st

Итак, Я могу добавить свойства к объекту window, показанные testStorage, но я не могу изменить localStorage, и мне нужно иметь возможность.

Кто-нибудь не знает, почему это происходит?

И как я могу это исправить? Смогу ли я изменить свойство localStorage?

Даже отображение его на sessionStorage (этот реализован) помогло бы мне на этом этапе.

Любая помощь очень ценится.

спасибо.

ответ

0

Итак, просто чтобы ответить на мой собственный вопрос и, возможно, помочь кому-то.

Функциональность window.localStorage реализована на QtWebkit 2.3.5, но по умолчанию отключена.

Вы должны позвонить:

QWebSettings::globalSettings()->enablePersistentStorage(); 

перед созданием QWebPage или QWebView экземпляр.

Перекомпилируйте и перезагрузите компьютер.

После этого все сработало.

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