1

jQuery UI の日付ピッカーを使用してアプリで誰かを助けていましたが、さまざまなブラウザーでテストしているときに、少なくとも私たちのバージョンの IE 11 に問題があることに気付きました。何らかの理由で、新しい JavaScript 日付オブジェクトの日付ピッカーに入力していた日付文字列は、IE では正常に動作しませんでしたが、Chrome では正常に動作しました。最後に、1 時間以上デバッガーを再起動して画面を見つめた後、文字列自体をもう少し詳しく調べ始めました。案の定、いくつかの位置で矢印キーを押すと、カーソルが動かなくなりました! あはは!どこかに印刷されていない文字がいくつかありました。

私は Notepad++ 用の Hex エディター プラグインを入手し、「無害な」文字列と、その中の「余分な何か」を含むバージョンを比較できます。

以下のスクリーンショットを参照してください。

それで、これらが正確にどのような種類のキャラクターであり、どこから来たのかについて誰かコメントできますか?

これが「非痴漢」バージョンです ここに画像の説明を入力

こちらは「ふしぎ」バージョン。テキスト エディターで「表示された」バージョンを見ると、「10/14/2016」しか表示されないことに注意してください。 ここに画像の説明を入力

これが私が取り組んでいるコードです。この関数内で、変数「DateStart」に余分な文字が含まれています。これは、IE および Visual Studio 2015 でデバッグするときに発生することに注意してください。Google Chrome で起動してそのデバッガを使用すると、期待どおりの結果が得られます。日付は問題なく、datepicker は正しい日付で開きます。

 function ConfigPicker() {

            var DateStart =    document.getElementById('FromDate').value;
            var DateEnd = document.getElementById('ToDate').value; 

            $("#FromDate").datepicker({ dateFormat: 'mm/dd/yy', defaultDate: new Date(DateStart) });
            $("#ToDate").datepicker({ dateFormat: 'mm/dd/yy', defaultDate: new Date(DateEnd) });                
    }
4

1 に答える 1

1

右から左へのテキストを扱うソースからコピーしたに違いありません。

e2 80 8eです200E LEFT-TO-RIGHT MARK。_

これらの 16 進コードをUTF-8 コード単位フィールドに貼り付けて [変換] をクリックすると、簡単に確認できます。

UniViewの記号の説明を参照してください。

于 2016-09-01T13:21:37.340 に答える