Javascript 错误“undefined”为空或不是Internet Explorer中的对象
在我的magento代码中有一个文件。 文件名-header.phtml 我得到了一个错误,比如“undefined”为null或者不是对象 如果我从IE本身调试该页面,它将从var hashIndex=frameId.indexOf中中断代码;从下面的代码Javascript 错误“undefined”为空或不是Internet Explorer中的对象,javascript,internet-explorer,magento,Javascript,Internet Explorer,Magento,在我的magento代码中有一个文件。 文件名-header.phtml 我得到了一个错误,比如“undefined”为null或者不是对象 如果我从IE本身调试该页面,它将从var hashIndex=frameId.indexOf中中断代码;从下面的代码 function getFrameId() { var qs = parseQueryString(window.location.href); var frameId = qs["frameId"]; var h
function getFrameId()
{
var qs = parseQueryString(window.location.href);
var frameId = qs["frameId"];
var hashIndex = frameId.indexOf('#');
if (hashIndex > -1)
{
frameId = frameId.substring(0, hashIndex);
}
return frameId;
}
“undefined”为null或不是对象意味着调用任何方法的java脚本对象为null或不支持该特定方法的值
在这种情况下,var frameId=qs[frameId];我认为这返回了null,您能看到qs包含什么吗?如果有任何与frameid键相关的值,'undefined'为null或不是一个对象,则表示您在其上调用任何方法的java脚本对象为null或不支持该特定方法的值 在这种情况下,var frameId=qs[frameId];我认为这返回了null,您能看到qs包含什么,以及是否有任何与frameid键相关的值吗
console.debug(qs);
在firefox或chrome中,并检查该对象。您不仅可以确认对象中是否有frameId属性,还可以检查该对象的所有内容,并可能在不同的对象键中找到要查找的信息。试试看
console.debug(qs);
在firefox或chrome中,并检查该对象。您不仅可以确认对象中是否有frameId属性,还可以检查该对象的所有内容,并可能在不同的对象键中找到要查找的信息。IE不支持indexOf。您需要编写自己的indexOf函数。例如:
//Implement indexOf. (IE/mshta doesn't have it)
if (!Array.prototype.indexOf) {
Array.prototype.indexOf = function (obj, fromIndex) {
if (fromIndex == null) {
fromIndex = 0;
} else if (fromIndex < 0) {
fromIndex = Math.max(0, this.length + fromIndex);
}
for (var i = fromIndex, j = this.length; i < j; i++) {
if (this[i] === obj)
return i;
}
return -1;
};
IE不支持indexOf。您需要编写自己的indexOf函数。例如:
//Implement indexOf. (IE/mshta doesn't have it)
if (!Array.prototype.indexOf) {
Array.prototype.indexOf = function (obj, fromIndex) {
if (fromIndex == null) {
fromIndex = 0;
} else if (fromIndex < 0) {
fromIndex = Math.max(0, this.length + fromIndex);
}
for (var i = fromIndex, j = this.length; i < j; i++) {
if (this[i] === obj)
return i;
}
return -1;
};
在上述行中,尝试查看frameId的值,我担心它是空的。frameId似乎没有被分配字符串,但可能是未定义的。qs的价值是什么?应该是什么?parseQueryString做什么?它应该返回什么?alertqs;->返回[object]alertframeId;->返回未定义,然后打开错误框。指数;根本不执行。在上述行中,尝试查看frameId的值,我担心它是空的。frameId似乎没有分配字符串,但可能没有定义。qs的价值是什么?应该是什么?parseQueryString做什么?它应该返回什么?alertqs;->返回[object]alertframeId;->返回未定义,然后打开错误框。指数;根本不执行。alertqs;->返回[object]alertframeId;->返回未定义,然后打开错误框。指数;根本不执行。更正这意味着qs是一个对象,但frameid不是该数组中的对象,可能是您可以使用任何调试器查看所需内容,您是否在某个位置托管了此站点,以便我们可以查找并尝试帮助您是的,只是检查了,这是相同的问题没有名为frameid的元素,但我注意到一个令人困惑的事实,窗口的url是,这意味着没有任何名称frameId,这就是为什么它没有BIEN的原因populated@dayana你能在我可以写信息的地方加入聊天吗如果你没有任何问题,可以给我你的雅虎ID吗。bcoz我无权与您聊天…alertqs;->返回[object]alertframeId;->返回未定义,然后打开错误框。指数;根本不执行。更正这意味着qs是一个对象,但frameid不是该数组中的对象,可能是您可以使用任何调试器查看所需内容,您是否在某个位置托管了此站点,以便我们可以查找并尝试帮助您是的,只是检查了,这是相同的问题没有名为frameid的元素,但我注意到一个令人困惑的事实,窗口的url是,这意味着没有任何名称frameId,这就是为什么它没有BIEN的原因populated@dayana你能在我可以写信息的地方加入聊天吗如果你没有任何问题,可以给我你的雅虎ID吗。我没有权利和你聊天…真是太棒了!谢谢!接得好!谢谢!