2

に問題があると思われるものを見つけましたcreateHidden().setValue()。隠しボックスを使用して、ハンドラー関数に情報を渡しています。文字列に & がある場合、エンコーディングは期待されていませんが行われます - 私によって。

var test = '[[12060,"Crédit R&D à recevoir"]]';
var hidden = app.createHidden().setId('z').setName('z').setValue(test); 

データを読み返すと、

[[12060,"Crédit R&D à recevoir"]]

基本的に、後で問題を引き起こしていUtilities.jsonParse()ます。

今 & なしで

var test = '[[12060,"Crédit RD à recevoir"]]';
var hidden = app.createHidden().setId('z').setName('z').setValue(test); 

データを読み返すと、それは私が期待しているものです-つまり、エンコーディングはありません:

[[12060,"Crédit RD à recevoir"]]

今、私が同じことapp.createTextBox().setText(test);をしても、 &. [[12060,"Crédit R&D à recevoir"]]エンコードされていない & で返されます。

これは のバグですか、それとも私が認識していない機能/動作createHidden.setValue()ですか?

誰かが私のためにこの謎を解明してくれたら、ありがとう!

更新: この問題を Google に報告しましたが、正式にはバグです - issue 1576を参照してください。

4

2 に答える 2

1

Google はこの問題を修正すべき新しいバグとして受け入れました - issue 1576を参照してください。そのため当面createTextBox().setText()は、HTML エンコーディングの問題がないものを使用する必要があります。

于 2012-07-24T00:25:45.900 に答える
0

Issue 1115を参照してください。今年の3月に修正されたそうです。そこに調査結果を報告できます

于 2012-07-18T04:18:34.420 に答える