Категория Архивы: jQuery и SharePoint

Быстрый Подсказка: Добавление jQuery Мосс страницы публикации

При повышении Мосс публикации страниц с помощью jQuery, Я ударил следующие скорость bump:

Ошибка сервера в ' /’ Приложение.


Ошибка синтаксического анализа

Описание: Произошла ошибка при обработке ресурсов, требуемых для обслуживания этого запроса. Пожалуйста просмотрите следующие сведения об ошибке разбора конкретных и соответствующим образом изменить исходный файл.

Сообщение об ошибке синтаксического анализатора: Допускаются только элементы управления содержимым непосредственно в страницу содержимого, которая содержит элементы управления содержимым.

Ошибка источника:

 
Line 10: 
Line 11: 
Line 12: <script 
Line 13:     type="text/javascript" 
Line 14:     src="/jQuery/jquery-1.4.min.js"> 

Исходный файл: /_catalogs/masterpage/KCC_FacultyMember.aspx    Линия: 12


Информация о версии: Корпорация Майкрософт.NET Framework версии:2.0.50727.4927; ASP.NET версии:2.0.50727.4927

Это было достаточно легко исправить (h/t к моему коллеге, Удай Ethirajulu).  Убедитесь, что код jQuery живет внутри «PlaceHolderAdditionalPageHead», как показано:

<ASP:Содержание ContentPlaceholderID = «PlaceHolderAdditionalPageHead" runat = «server»>

<сценарий

    Type = text/javascript""

    src="/jQuery/jQuery-1.4.min.js»>

</сценарий>

<сценарий type = «текст/javascript»>

  $(документ).готов(функция() {

   // Блестящий jQuery вещи идет здесь.

   });

</сценарий>

</конец>

Подписаться на мой блог.

Следуй за мной по щебетать на http://www.twitter.com/pagalvin

В похвалу jQuery улучшено-как-вы-тип поиска (от Jan Тиленса)

Я работаю над BPOS демо (скоро будет доступна на Microsoft's сайт) и я хотел бы добавить немного веселостью. Я знал о Ян Тилен усилия за довольно долгое время и я подумал, было бы большой метод для добавления к демо, так что я сделал. Вы можете прочитать об этом здесь: http://weblogs.asp.net/jan/archive/2009/07/02/sharepoint-search-as-you-type-with-jquery.aspx. Это так просто использовать его, вероятно, следует быть преступление (и может быть где-то).

Добавить лишь два очка в то, что он уже создан / Написал о:

  1. Это делает, На самом деле, работа в BPOS (SharePoint онлайн) Окружающая среда.
  2. Чтобы сделать его работу без раздражающих всплывающих сообщений префикс ссылку на библиотеку jquery с https вместо http, как и в:
<сценарий типа =«text/javascript" src =«https://AJAX.googleapis.com/Ajax/libs/jQuery/1.3.2/jQuery.min.js"></сценарий>

Ян указывает на то, что вы вероятно следует переместить сама библиотека на ваш сайт. Чувствуя немного ленивый сегодня, Я решил написать об этом в блоге 🙂

</конец>

Это еще один пост в моем продолжается серия как пользоваться jQuery с SharePoint.
Если вы хотите узнать больше о jQuery, Я очень рекомендую: jQuery в действии Медведь Bibeault и Иегуда Кац.

Подписаться на мой блог.

Следуй за мной по щебетать на http://www.twitter.com/pagalvin

Бирки Technorati:

Кажется, обеспечение представления библиотеки SharePoint список/документа (вроде) Возможно с jQuery

Это еще один пост в моем продолжается серия как пользоваться jQuery с SharePoint.
Если вы хотите узнать больше о jQuery, Я очень рекомендую: jQuery в действии Медведь Bibeault и Иегуда Кац.

Одна из первых вещей, котор я думал, как только я начал играть примерно с jQuery, был ли мы могли использовать его для обеспечения представления SharePoint. Ответ «нет» (или по крайней мере, Я не утверждаю, что это возможно). Однако, Это конечно возможно сделать его трудным для людей увидеть особое мнение.

Я начал с моей песочнице окружающей среды при работе на этом. Я писал об этой среде: Быстро и легко: Создайте свой собственный jQuery Песочница для SharePoint.

Для «обеспечения» вид, выполните следующие действия:

  1. Создайте представление, которое требуется защитить. Я сделал это и назвал его «Обеспеченных вид».

    Это, как он выглядит, когда она не «защищена»:

    image

  2. Добавьте веб-часть редактора контента на страницу представления, используя трюк, описанный в статье Песочница (т.е.. Добавить «PageView = Shared&ToolPaneView = 2 "в URL-адрес).
  3. Выяснить, ваш SharePoint _spUserId, следуя указаниям сумасшедший, верить или нет:
    1. Войти в вашей среде SharePoint.
    2. В поле адреса веб-браузера, Тип: «javascript:предупреждение(_spUserId»).
    3. Запишите результат (Это «13» в моем случае).

      image

  4. Добавьте следующий яваскрипт для вашего CEWP в представлении «Код»:

    <сценарий типа =«text/javascript"
        src =".. /.. /jQuery Library/jQuery-1.3.2.min.js">
    </сценарий>
    
    <сценарий типа =«text/javascript">
      $(функция() {
    
        предупреждение(_spUserId);
    
        var theSecuredView = $(' iframe[FilterLink * = обеспеченных % 20View]');
    
        Если ((theSecuredView.length > 0) && (_spUserId == 13))
          $(' iframe[FilterLink * = обеспеченных % 20View]').родитель().родитель().родитель().HTML("<TR bgcolor = красный><ТД>Представление не для вас!</ТД></TR>");
      });
    
    </сценарий>
    

Я включил это предупреждение(_spUserId) линия там, чтобы продемонстрировать, как это не действительно «защита» мнение, но просто делает его более трудным увидеть. Подробнее об этом в момент.

В основном, jQuery ищет iFrame на странице, который имеет атрибут, содержащий «Secured % 20View» в его значение. После того, как он считает это, Мы проверяем, чтобы увидеть, если текущий пользователь является «13». Если это, Мы ходим вверх DOM для <TR> Тег (что я понял, просматривая источник и трассировка) и затем заменить этот тег TR с мое сообщение. Я действительно не знаю, как надежные это (Я очень подозрительно, На самом деле), но он работал в моей песочнице. Если я найду способ лучше, Я блоге об этом. Это результат:

image

Я нажмите кнопку ОК и данных заменяется сообщением большой красный:

image

Как вы можете сказать, как я реализовать это решение «безопасность» должна позволить веб-часть для отображения самого. После его завершения, Замените «не моему для вас его содержание!«сообщение.

Несмотря на тот факт, что это не действительно "обеспеченного '» вид, Это потенциально полезных и некоторые умные работы, Это может быть в конечном итоге защищаемый в более формальном смысле. Основная проблема заключается, что клиент получает все данные и затем, только после того, как она получает данные, Он стирает. Если клиент получает данные, умный пользователь может запретить запуск всех jQuery и увидеть, что он хочет видеть.

Существуют другие недостатки. Этот подход «безопасность» основан покинуть _spUserId. Мы хотели бы, чтобы действительно безопасной на основе полной модели безопасности SharePoint, или по крайней мере по имени пользователя. Это становится все труднее, но я вижу некоторые хорошие вещи, написанные на эту тему, так что я надеюсь, что есть хороший ответ на эту проблему.

Список представлений, сами должны быть обрезаны, Если это возможно. Я не пытался выяснить. Я предполагаю, что это возможно, но не решает проблемы основных безопасности потому, что кто-то может еще просто введите URL-адрес представления, которое они хотят (Если они знали, что это). Однако, Обрезка имеет смысл. Это особенность хорошие удобства и помогает замечать вещи. Если конечный пользователь не знает, что существует мнение событие, они, вероятно, не будет пытаться использовать его. Иногда, что является достаточно хорошим.

С удачей, Я буду иметь больше писать на эту тему со временем.

</конец>

Подписаться на мой блог.

Следуй за мной по щебетать на http://www.twitter.com/pagalvin

Бирки Technorati: ,,

del.icio.us метки: ,,

Быстро и легко: Лучший способ использовать jQuery чтобы скрыть текстовое поле в форме SharePoint

Это еще один пост в моем продолжается серия как пользоваться jQuery с SharePoint.
Если вы хотите узнать больше о jQuery, Я очень рекомендую: jQuery в действии Медведь Bibeault и Иегуда Кац.

Ранее, Я писал о том, как использовать jQuery для обнаружения и скрыть текстовое поле в форме. Я не позаботил для конкретного подхода (Я цепочки родителей – это просто не сделали эти дни, по крайней мере в семьях качества).

Когда я впервые начал думать об этом, Я знал, что мне нужно, чтобы найти <TR> к которому я мог бы вызвать скрыть() метод. Мои ранние усилия, чтобы найти правильный <TR> что-то вроде этого:

$(' tr:имеет(вход[Название = скрыть меня!])');

Проблема с этим является, что он будет найти каждый <TR> тег, что любые отношения родителей к скрыть меня! поле, даже если скрыть меня! Это вложенных много уровней глубоко в <TR>в. Получается, что на моей песочнице формы, Это выражение находит 9 различные TR кто скрыть меня! как ребенок где-то в DOM-дереве. Я понял, что я мог бы ходить обратно вверх по дереву, от самого поля ввода, Так вот, как я в конечном итоге злоупотреблении родителей, но он не сидят хорошо со мной.

Я дал некоторые мысли это и одна из вещей, которые я читал наконец имеет смысл: Я мог бы использовать не() метод для обрезки <TR>на что я не хочу в моем упакованного набора. Это привело меня к этому:

$(' tr:имеет(вход[Название = скрыть меня!])').не(' tr:имеет(TR)').скрыть();

Первый бит находит все <TR> Метки, которые имеют скрыть меня! поле нигде в их собственной иерархии. Он затем полоски из любой <TR> Это также у ребенка <TR>. Это оставляет нас с одной <TR> что:

1) Есть нет <TR> дочерние записи

2) Есть поле ввода, как ребенок.

Мы можем затем применить скрыть() метод для результирующего набора, и мы сделали.

Я все еще немного нервной об этом, но не нервной, как цепочки родителей.

Я не знаю, если это лучше, или нет. Там может быть более подходящим способом идентификации только <TR> Мы заботимся о в формы SharePoint. Если вы знаете, Просьба оставить комментарий.

</конец>

Подписаться на мой блог.

Следуй за мной по щебетать на http://www.twitter.com/pagalvin

Бирки Technorati: ,

Быстро и легко: Использовать jQuery, чтобы скрыть текстовое поле в форме SharePoint

Это еще один пост в моем продолжается серия как пользоваться jQuery с SharePoint.
Если вы хотите узнать больше о jQuery, Я очень рекомендую: jQuery в действии Медведь Bibeault и Иегуда Кац.

ОБНОВЛЕНИЕ (уже!): Я думаю, лучший способ найти <TR> тег, я хочу, чтобы скрыть и писал об этом здесь. Вы может по-прежнему найдете эту статью интересно все равно так что я leavnig его вверх.

Я хочу, чтобы скрыть текстовое поле, «Скрыть меня!«как показано:

image

Следующие jQuery делает трюк для меня:

<сценарий типа =«text/javascript">

  $(функция() {


    $(' ввода[Название = скрыть меня!]').родитель().родитель().родитель().скрыть();

  });

</сценарий>

Код говорит:, «найти меня все входные поля название которого = скрыть меня!. Затем, получить его родителей, а затем родителей и * далее * родителей (Фу!) и вызывать скрыть() метод на что вещь, все, что происходит с.

Я понял, что родительской структуры, просмотрев HTML-код для формы, созданный SharePoint, как показано:

<TR>
    <ТД nowrap= "true" VAlign= "Топ" Ширина= «190px" класс= «ms-formlabel»>
        <H3 класс= «ms-standardheader»>
            <nobr>Скрыть меня!</nobr>
        </H3>
    </ТД>

    <ТД VAlign= "Топ" класс= "ms-formbody" Ширина= 400 «пикселей»>
        <!-- FieldName = "скрыть меня!"
                 FieldInternalName = "Hide_x0020_Me_x0021_"
                 FieldType = «SPFieldText"
        -->
        <диапазон dir= «none»>
            <вход
                имя= "ctl00$ m$ g_bdb23c2c_fde7_495f_8676_69714a308d8e$ ctl00$ ctl04$ ctl02$ ctl00$ ctl00$ ctl04$ ctl00$ ctl00$ TextField"
                Тип= "текст"
                MaxLength= "255"
                ID= "ctl00_m_g_bdb23c2c_fde7_495f_8676_69714a308d8e_ctl00_ctl04_ctl02_ctl00_ctl00_ctl04_ctl00_ctl00_TextField"
                название= "Скрыть меня!"
                класс= "ms Лонг" />
                <br>
        </диапазон>


    </ТД>
</TR>

Эта картина показывает то же самое, но размечена с родителями:

image

Первый родитель (1) Это тег span. Промежуток в родительский (2) тег TD и затем, наконец мы получаем в реальных родителей, я хочу, чтобы скрыть (3) который является сам тег TR.

Это довольно страшно подход, который я думаю, потому что это очень зависит от весьма специфические структуры этой формы. Когда SharePoint 2010 выходит, Эта вся структура может изменить и разорвать этот подход. То, что я действительно хочу сделать, это ремесло селектор jQuery, что вдоль линий «найти меня все TR (и только теги TR) что есть где-то в их дочерние элементы поле ввода название которого = скрыть меня!”. Я начиная снизу и перемещение. Предполагая, понять это, Я буду размещать обновленную «быстро и легко ' сообщение.

</конец>

Подписаться на мой блог.

Следуй за мной по щебетать на http://www.twitter.com/pagalvin

del.icio.us метки: ,

Бирки Technorati: ,

Быстро и легко: Создайте свой собственный jQuery Песочница для SharePoint

Это еще один пост в моем продолжается серия как пользоваться jQuery с SharePoint.
Если вы хотите узнать больше о jQuery, Я очень рекомендую: jQuery в действии Медведь Bibeault и Иегуда Кац.

Начало работы с jQuery в SharePoint на удивление легко (Мне). (У меня есть серьезные вопросы по поводу «наилучшей практики» подход к развертыванию этих вещей для производства, но это в другой день). Я только начал играть с этой технологией и с этой целью, Я создал изолированной среды для использования. Если вы ищете, чтобы начать работу с jQuery, Этот подход может оказаться полезной.

1. Создать пустой узел

Создайте пустой сайт где-то на вашем сайте и называют его-то умный как «jQuery Песочница».

2. Скачать jQuery

JQuery javascript библиотеки можно скачать здесь: http://docs.jquery.com/Downloading_jQuery

Чтобы сохранить на рабочем столе.

Я использую версию «уменьшенная».

3. Создание библиотеки документов SharePoint

В вашем сайте Песочница, Создание библиотеки документов.

4. Загрузить jQuery библиотеки SharePoint

Доступ к библиотеке doc, вы только что создали и загрузить библиотеки jQuery.

5. Создание настраиваемого списка

Я начал с настраиваемым списком потому, что я хочу, чтобы слоняться с стандартной формы SharePoint. Можно также создать страницы в библиотеке страниц или страниц веб-частей и, вероятно, много других мест.

Добавьте некоторые столбцы в пользовательский список, так что у вас есть что-то для запуска jQuery против. Мои первоначальные цели были:

  1. Скрыть поля.
  2. Присвоить значение полю.

С учетом этой цели, Я добавил два текстовых поля. Со временем, Я буду играть со ссылками, изображения, Поиск, и т.д..

6. Измените страницы NewForm.aspx веб-частей и добавьте веб-часть редактора содержимого

Это маленький черный magic-ish , в том, что он представляет собой новую концепцию для меня. Я впервые узнал об этом от Пол Гренье, JQuery SharePoint суперзвезда, на своем сайте проект CodePlex: http://spff.codeplex.com/.

Выполните следующие действия для добавления CEWP на ту же страницу, которая показывает NewForm.aspx для любого настраиваемого списка:

  1. Пользовательский список и нажмите кнопку Создать.
  2. Добавьте следующие URL-адреса: Просмотр страницы = Общая&ToolPaneView = 2

Что превратит ваш скучно формы ввода ванили данных от что-то вроде этого:

image

К этому:

image

Добавьте веб-часть редактора контента на страницу.

7. Написать свой первый jQuery код

Открыть этот CEWP в представлении кода и добавьте следующие:

image

Вот реальный код, если вы хотите копировать/вставить:

<сценарий типа =«text/javascript"
    src =".. /.. /jQuery Library/jQuery-1.3.2.min.js">
</сценарий>

<сценарий типа =«text/javascript">
  $(функция() {

    $(«#resultsID»).HTML(«Есть» + $(«»).Размер() + «Метки на этой странице».);

  });
</сценарий>

Результат:
<div id =«resultsID»></Div>
/результат

Обратите внимание, что первый <сценарий> Тег ссылается на фактические jQuery библиотеки. Предположительно, Эти вещи меняются со временем, так что вы хотите, чтобы убедиться, что) Используйте правильное имя и b) направьте его в правильную библиотеку документов SharePoint.

Греться в славе

Если вы сделали это правильно, Вы увидите результат, подобный следующему:

image

Упаковка

Это не единственный способ, чтобы начать работу, но это быстро, легко и изолированы от существующей среды SharePoint.

</конец>

Подписаться на мой блог.

Следуй за мной по щебетать на http://www.twitter.com/pagalvin

Бирки Technorati: ,

del.icio.us метки: ,

Быстро и легко: Использование jQuery, чтобы задать текст значение поля в форме SharePoint

Я начал играть с jQuery вчера. Я, желающих сделать это в течение длительного времени, с тех пор Пол Гренье начал писать его серия о jQuery для конечных пользователей на почтенный www.endusersharepoint.com веб-сайт. Как я использую его, Я надеюсь, добавить должности серии «Быстрый и легкий» как это одно. Эта должность описывается, как задать значение текстового поля для что-нибыдь вы хотите.

В этом случае, Я создал пользовательский список, чьи «новые» формы выглядит, как показано:

image

Это новая форма для настраиваемого списка с название столбца по умолчанию и два списка столбцов (не столбцы сайта; Я не думаю, что он должен сделать разницу).

Цель заключается в том, чтобы назначить произвольное значение в поле, «DefaultMeFieldNoSpaces» (Вы можете сказать, что я немного Трус с «пробелов», что происходит на, но spice оно вверх в конце этой статьи).

Это немного jQuery работал для меня:

<сценарий типа =«text/javascript">

  $(функция() {

    $(' ввода[Название = DefaultMeFieldNoSpaces]').attr(
        {значение: «Вы находитесь в извилистых лабиринт проходов, все так.»});

  });

</сценарий>

Как я понимаю, это немного jQuery говорит:, «найти меня любой ввод тега которого название = DefaultMeFieldNoSpaces. Затем, установить все их значения знаменитая фраза из старой компьютерной игры».

Поскольку там будет только одно поле в форме с названием равным «DefaultMeFieldNoSpaces» мы уверены присвоения значения в это поле и никаких других.

Как насчет поле, имя которого содержит пробелы? Это почти то же самое:

<сценарий типа =«text/javascript">

  $(функция() {
     $(' ввода[Название = назначить поля С пространства]').attr(
        {значение: «Вы находитесь в извилистых лабиринт проходов, все так.»});

  });

</сценарий>

Я думаю, что это довольно безопасный подход, означает, что мы должны быть в состоянии найти поля, что мы хотим и только мы хотим. Если вы посмотрите на HTML SharePoint дает нам, Это своего рода беспорядочна:

<вход
имя= "ctl00$ m$ g_bdb23c2c_fde7_495f_8676_69714a308d8e$ ctl00$ ctl04$ ctl02$ ctl00$ ctl00$ ctl04$ ctl00$ ctl00$ TextField"
Тип= "текст"
MaxLength= "255"
ID= "ctl00_m_g_bdb23c2c_fde7_495f_8676_69714a308d8e_ctl00_ctl04_ctl02_ctl00_ctl00_ctl04_ctl00_ctl00_TextField"
название= "DefaultMeFieldNoSpaces"
класс= "ms Лонг"
/>

«Название» выделяется как узнаваемый и надеемся, что уникальный атрибут помочь нам определить определенный столбец, к которому мы хотим присвоить наши произвольное значение.

Это основополагающие концепции. Настройка поля произвольным образом, как это не собирается выиграть какую-либо награды. Однако, Если мы хотим сделать более интересные формы уровня вещи (все мы всегда хочется сделать, Конечно, сразу после того, как мы закончим, мытье посуды), как изменить значение «поле b» автоматически на основе значения из «поле», Мы (Я) нужно, чтобы узнать эти вещи.

Я думаю, что это наш лучший шанс получить реальный полезное значение здесь через название, по крайней мере для текстовых полей. Там может быть лучше, более надежный подход. Если я нахожу это, Я буду обновлять этот пост. Если вы знаете лучший способ, Пожалуйста, оставьте комментарий.</конец>

</конец>

Подписаться на мой блог.

Следуй за мной по щебетать на http://www.twitter.com/pagalvin

Бирки Technorati: ,