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中说......“未捕获的TypeError:无法设置未定义的属性'collListItem'......

我假设这是来自“this”.. chrome处理“this”和即处理“this”的方式有什么不同吗?

我该怎么办?谢谢!

4

1 回答 1

5

由于一些草率的连接等,您的代码不由自主地(或故意?)处于严格模式下,这意味着没有显式接收器位置的函数调用undefined作为this值而不是全局对象。较旧的 IE 无法识别严格模式,因此它会像以前一样继续工作。

只需更改thiswindow.

有趣的事实:亚马逊也发生过这种情况

于 2013-07-31T20:27:29.060 回答