3

ReferenceError: documentGetElementsByName が定義されていません MoveSiteTitle();

ReferenceError: MoveSiteTitle が定義されていません

MoveSiteTitle();

どんな助けでも....!

4

3 に答える 3

5

df1 が報告したように、Chrome 関連の問題のようです。ただし、必要に応じてスクリプト エラーを取り除くための解決策が 1 つあります。

このコードをマスター ページ内の s4-workspace タグなどの上に配置します。

if(typeof documentGetElementsByName==='undefined')
{
    documentGetElementsByName = function(value){
        if($('[name="'+value+'"]'))
        {
            return $('[name="'+value+'"]');
        }
        return null;
    };
}

if(typeof MoveSiteTitle==='undefined')
{
    // Well.... Don't know what this function is supposed to do                           
    // but this way I am avoiding script error...
    MoveSiteTitle = function(value){
        return "";
    };
}
于 2013-11-04T18:49:29.457 に答える
0

これは単なる JavaScript の基本的なエラーです。ここでは documentGetElementsByName (変数名は何ですか) この変数名を確認すると、現在のページのどこを検索しても見つかりません。変数名を変更するか、そこに条件を置きます。

于 2012-10-22T14:21:53.637 に答える
0

問題は、設定の何かが原因でメソッド MoveSiteTitle() を含むスクリプトが読み込まれないことです。

開発ツール コンソールからメソッド「MoveSiteTitle」のソースを取得できました。<head>マスター ページを変更して、マスター ページのセクションに次の JavaScript を含めることができます。

if (typeof MoveSiteTitle === 'undefined') {         
        function MoveSiteTitle() {
            a:;
            var b = documentGetElementsByName("titlewpTitleArea");
            if (b == null || b[0] == null) return;
            var a = b[0],
                c = documentGetElementsByName("onetidProjectPropertyTitle");
            if (c == null || c[0] == null) return;
            var e = c[0],
                d = document.getElementById("onetidPageTitleSeparator");
            if (d == null) return;
            if (Boolean(a.insertAdjacentElement)) {
                a.insertAdjacentElement("afterBegin", d);
                a.insertAdjacentElement("afterBegin", e)
            } else {
                a.insertBefore(d, a.firstChild);
                a.insertBefore(e, a.firstChild)
            }
        }
    }

また、ハイブ (ハイブ 15) 内の次のファイルで、MoveSiteTitle メソッド (Sharepoint 2013 用) を見つけました。

V:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\TEMPLATE\LAYOUTS\IE55UP.js

そこから特定の構成をデバッグできる場合があります。

また、GetElementsByName のスクリプトは...

function GetElementsByName(b) {
    var a = document.getElementsByName(b);
    if (a.length == 0 && Boolean(window.XMLHttpRequest)) a = FFGetElementsById(document, b);
    return a
}
于 2016-01-08T01:15:39.467 に答える