2017-01-23 7 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

ので、私はtestStorageで示されているウィンドウオブジェクトにプロパティを追加できますが、私はlocalStorageを変更することができず、できる必要があります。

これはなぜ起こっているのですか?

そして、どうすれば修正できますか? localStorageプロパティを変更することはできますか?

これをsessionStorageにマッピングしても(これは実装されています)、この時点で私を助けてくれます。

ご協力いただきありがとうございます。

ありがとうございます。

答えて

0

私自身の質問に答えるだけで、誰かを助けることができます。

window.localStorage機能はQtWebkit 2.3.5に実装されていますが、デフォルトでは無効になっています。

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

QWebPageまたはQWebViewインスタンスを作成する前に:

あなたが呼び出す必要があります。

再コンパイルと再起動。

それ以降はすべて正常に機能しました。

関連する問題