'ProjectTaskButtonAppName' не определен при нажатии вкладку «Список» в ленте

sharepoint.stackexchange https://sharepoint.stackexchange.com/questions/15650

  •  16-10-2019
  •  | 
  •  

Вопрос

Я получаю следующую ошибку JavaScript, когда нажимаю на вкладку «Список» на ленте SP2010 для списка задач проекта, который я поместил в веб -часть на странице default.aspx:

Детали ошибки веб -страницы

Пользовательский агент: Mozilla/4.0 (совместимо; MSIE 8.0; Windows NT 6.1; WOW64; TRIDET/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .Net4.0c; .net4.0e; Infopath.3) TimeStamp: Tue, 5 июля 2011 20:32:33 UTC

Сообщение: 'ProjectTaskButtonAppName' - неопределенная строка: 1302 Чар: 9 Код: 0 URI: http://sptest/_layouts/sp.ribbon.debug.js?rev=lc6eCMZP6gL5LnuSYh0S6Q%3D%3D

Я довольно много искал и не нашел никаких других жалоб ..

У кого -нибудь есть представление о том, что я могу проверить? У меня нет проекта MS на моей машине, но, конечно, это не сломает JS.

Это было полезно?

Решение 4

Я решил проблему, добавив попытку подлости к JS, который разбился. Я сделал следующее изменение в sp.ribbon.debug.js: строка 1302-

    try{    
    return !eval($v_0.HiddenScript);
    }
    catch(e){
    return true;
    }

Теперь кнопки ленты хотя бы полезны. Я думаю, что мне придется внести такое же изменение в sp.ribbon.js.

Возможно, это связано с тем, что я не установлен MS Project на мою коробку.

В любом случае, надеюсь, это поможет какой -то другой бедной душе.

Другие советы

Значки ленты высыпаются, но все еще активны/используются. Если вы нажимаете в другом месте, они, как правило, возвращаются к жизни с цветом. Похоже, что ошибка ошибки/сценариев SP, которая имеет обходной путь.

У меня была та же проблема с моим списком задач проекта. Чтобы избавиться от этой проблемы, я протестировал различные настройки веб -деталей для списка задач проекта. Вариант, который сработал для меня, заключалась в том, чтобы установить тип панели инструментов на: полную панель инструментов.

Я попытался скрыть «новую ссылку» в просмотре списка/библиотеки, установив Свойство «Свойное панель инструментов WebPart» на «Нет панели инструментов», и я получил эту ошибку. Затем я нашел разные подходы, перечисленные ниже.

Перед этим, пожалуйста, измените необходимое свойство панели инструментов WebPart обратно на «Краткое панель инструментов».

Подход 1 (просто)

В общем файле JS, который вы использовали на сайте (или создаете новый файл JS, загрузите его в библиотеку активов и дайте ссылку на главной странице сайта) добавьте приведенный ниже код. Это просто создаст пустой дивинг и добавит его на страницу. Оно работает!

<script type="text/javascript" language="javascript">
    var elemDivTaskButton = document.createElement('div');
    document.body.appendChild(elemDivTaskButton);

    var projectTaskButtonAppName = (typeof projectTaskButtonAppName === 'undefined') ? elemDivTaskButton : projectTaskButtonAppName; 
</script>

Подход 2

  1. Создайте HTML -файл с кодом ниже и загрузите его в библиотеке SiteAssets.
  2. Отредактируйте страницу «allitems.aspx» списка (или требуемая страница, где добавлено представление списка) и добавьте веб -частя для редактора контента (CEWP).
  3. Отредактируйте WebPart Editor Content и свойство «Content Link» (на панели свойств веб -частей) Укажите вышеуказанный URL -адрес файла HTML. Нажмите «ОК».
  4. В вкладке «Страница» на вершине ленты нажмите «Прекратить редактирование». Теперь проверьте страницу. Ошибка JS должна исчезнуть.

        //Invoke HideNewItemLinkAndActviateWP Method after PageLoad.
        _spBodyOnLoadFunctionNames.push("HideNewItemLinkAndActviateWP");
    
        function HideNewItemLink()
        {
            try
            {
                HideNewItemLink('Hero-WPQ2');
                SetWebPartActive('MSOZoneCell_WebPartWPQ2');
            }
            catch(err)
            {
                //Handle errors here
            }
        }
    
        function HideNewItemLink(tblId)
        {
            try
            {
                var tblNewItemLink = null;
                tblNewItemLink = document.getElementById(tblId);
                if(tblNewItemLink != null)
                {
                    tblNewItemLink.style.display='none';
                }
            }
            catch(err)
            {
                //Handle errors here
            }
        }
    
        function SetWebPartActive(wpId)
        {
            setTimeout(function() {
                var webPart = document.getElementById(wpId);
                if(webPart != null) {
                    var dummyEvent = new Array();
                    dummyEvent["target"] = webPart; 
                    dummyEvent["srcElement"] = webPart; 
                    WpClick(dummyEvent);
                    }
            }, 200)
        }
    

Я заметил, что эта проблема возникает, когда вы меняете панель инструментов с «Standard» на «нет» на XSLTListViewWebpart

Попробуйте добавить веб -части редактора контента и добавить код, как указано в первом подходе -

<script type="text/javascript" language="javascript">
    var elemDivTaskButton = document.createElement('div');
    document.body.appendChild(elemDivTaskButton);

    var projectTaskButtonAppName = (typeof projectTaskButtonAppName === 'undefined') ? elemDivTaskButton : projectTaskButtonAppName; 
</script>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top