3

以下では、関数はIEで動作しますが、これは良いですが、Chrome、FireFoxなどでも動作する必要があります.Chromeではエラーが発生します...私のコードは次のとおりです

function loadList(list_name) {
    var oList = context.get_web().get_lists().getByTitle(list_name);
    var camlQuery = new SP.CamlQuery();
    camlQuery.set_viewXml('<View><Query><Where><Geq><FieldRef Name=\'ID\'/>' + '<Value Type=\'Number\'>1</Value></Geq></Where></Query><RowLimit>10</RowLimit></View>');
    this.collListItem = oList.getItems(camlQuery);

... Chrome では「Uncaught TypeError: Undefined のプロパティ 'collListItem' を設定できません..

これは「これ」からのものだと思います..クロムが「これ」を処理する方法と「これ」を処理する方法に違いはありますか??

これについて何ができますか?ありがとうございました!

4

1 に答える 1

5

あなたのコードは意図せず (または故意に?) 厳格な連結などのために厳密モードになっています。これは、明示的なレシーバーの場所を持たない関数呼び出しが、グローバル オブジェクトではなく値undefinedとして配置されることを意味します。this古い IE は厳密モードを認識しないため、以前と同様に動作し続けます。

に変更thisするだけwindowです。

面白い事実: これはamazon でも起こった

于 2013-07-31T20:27:29.060 に答える