ReferenceError: documentGetElementsByName 未定义 MoveSiteTitle();
ReferenceError:未定义 MoveSiteTitle
移动站点标题();
任何帮助....!
ReferenceError: documentGetElementsByName 未定义 MoveSiteTitle();
ReferenceError:未定义 MoveSiteTitle
移动站点标题();
任何帮助....!
好吧,这似乎是 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 "";
};
}
这只是 javascript 基本错误。这里 documentGetElementsByName(这里的变量名是什么) 检查这个变量名并搜索在当前页面中找不到任何位置。修改变量名或在那里放置一些条件。
问题是您的配置中的某些内容导致包含方法 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
}