2

私のmagentoコードには1つのファイルがあります。ファイル名 - header.phtml

'undefined' is null or not an object のようなエラーが発生しました。

そして、IE自体からそのページをデバッグすると、「var hashIndex = frameId.indexOf('#');」からコードが壊れます。次のコードから。

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;
}
4

3 に答える 3

3

indexOf は IE ではサポートされていません。独自の 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;
  }; 
于 2012-11-19T03:16:09.623 に答える
1

'undefined' is null or not a object は、 で任意のメソッドを呼び出した Java スクリプト オブジェクトが null であるか、その特定のメソッドをサポートしない値であることを意味します。

この場合var frameId = qs["frameId"];、null が返されたと思います。qs に何が含まれているか、frameid キーに関連付けられた値があるかどうかを確認できますか

于 2012-04-26T06:10:56.407 に答える
0

試す

 console.debug(qs); 

FirefoxまたはChromeで、そのオブジェクトを検査します。オブジェクトにframeIdプロパティがあるかどうかを確認するだけでなく、そのオブジェクトのすべてのコンテンツを検査したり、別のオブジェクトキーで探している情報を見つけたりすることもできます。 。

于 2012-04-26T06:44:18.863 に答える