SharePoint错误movesiteTitle()在页面加载后出现错误

时间:2012-10-13 06:43:17

标签: sharepoint sharepoint-2010 shared-libraries sharepoint-designer

ReferenceError:未定义documentGetElementsByName MoveSiteTitle();

ReferenceError:未定义MoveSiteTitle

MoveSiteTitle();

任何帮助....!

3 个答案:

答案 0 :(得分:5)

好吧,似乎是df1报道的Chrome相关问题。但是,如果您愿意,可以通过一种解决方案摆脱脚本错误。

将此代码放在主页面的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 "";
    };
}

答案 1 :(得分:0)

这只是javascript基本错误。这里是documentGetElementsByName(这里的变量名称是什么)检查此变量名称并搜索cant查找当前页面中的任何位置。修改变量名称或在那里放置一些条件。

答案 2 :(得分:0)

问题是您的配置中的某些内容导致包含MoveSiteTitle()方法的脚本无法加载。

我能够获得该方法的来源&#34; MoveSiteTitle&#34;从我的开发工具控制台。您可以更改母版页,以在母版页的<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)
            }
        }
    }

另外,我在hive(hive 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
}