'这个'在chrome中未定义,但在IE中有效

时间:2013-07-31 20:25:49

标签: javascript sharepoint sharepoint-2013 csom

下面,该功能适用​​于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'..

我假设这是来自“这个”..铬如何处理'这'并且处理'这个'是否有区别?

我该怎么办?谢谢!

1 个答案:

答案 0 :(得分:5)

由于某些草率连接等原因,您的代码在严格模式下是非自愿的(或故意?),这意味着没有显式接收器的函数调用将undefined作为this值而不是全局对象。较旧的IE不识别严格模式,因此它保持原样。

只需将this更改为window

有趣的事实:这发生在amazon too