カテゴリーアーカイブ: jQuery と SharePoint

クイック ヒント: MOSS 発行ページを jQuery を追加

JQuery を使って MOSS publising ページを強化すると, 次のスピード バンプを打つ:

サーバー エラーは '/’ アプリケーション.


パーサー エラー

説明: この要求の処理に必要なリソースの解析中にエラーが発生しました. 以下の解析エラーの詳細を確認して、ソース ファイルを適切に変更してください。.

パーサー エラー メッセージ: コンテンツ コントロールをコンテンツ コントロールを含むコンテンツ ページで直接許可のみ.

ソース エラー:

 
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


バージョン情報: Microsoft。NET Framework のバージョン:2.0.50727.4927; ASP。ネット版:2.0.50727.4927

それは簡単に修正できます。 (私の同僚に h/t, ウダイ Ethirajulu).  JQuery コードが示すように"PlaceHolderAdditionalPageHead"内に住んでいることを確認してください。:

<asp:ContentPlaceholderID コンテンツ ="PlaceHolderAdditionalPageHead" runat ="server">

<スクリプト

    タイプ ="テキスト/javascript"

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

</スクリプト>

<スクリプトの種類」テキスト/javascript」=>

  $(ドキュメント).準備ができて(関数() {

   // 素晴れらしい jQuery のようなものはここに行く.

   });

</スクリプト>

</終了>

私のブログを購読します。.

私は Twitter の上に従ってください。 http://www.twitter.com/pagalvin

JQuery の拡張検索-として--入力 (1 月 Tielens で)

私は、BPOS デモで働いています。 (すぐにマイクロソフトに提供をするのサイトします。) 少し活力を追加したいと. についてを知っています。 1 月 Tielen 努力のためにかなり長い間、私はそれだと思った、デモに追加する素晴らしいテクニック, 私は. ここでそれについて読むことができます。: http://weblogs.asp.net/jan/archive/2009/07/02/sharepoint-search-as-you-type-with-jquery.aspx. それはそれを使用する単純なする必要がありますおそらく罪であるので (どこかに多分あり).

彼が既に作成にちょうど 2 つのポイントを追加します / についてを書いた:

  1. これは, 実際, BPOS で動作します。 (SharePoint のオンライン) 環境.
  2. 迷惑なポップアップせずに動作させるためにメッセージ プレフィックス http ではなく https で jquery ライブラリへの参照, ように:
<スクリプトの型 ="テキスト/javascript" src ="https://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></スクリプト>

1 月は、おそらくあなたのサイトにライブラリ自体に移動するべきであることを指摘します。. 今日は少し怠惰な感じ, 私の代わりにそれについてのブログすることを決めました🙂

</終了>

これは別のポストには私 シリーズの予定 使用方法 jQuery SharePoint と.
JQuery についてもっと学びたい場合, 私は非常にお勧め: 『 jQuery in Action クマ Bibeault、イェフダー Katz による.

私のブログを購読します。.

私は Twitter の上に従ってください。 http://www.twitter.com/pagalvin

Technorati のタグ:

SharePoint のリストとドキュメント ライブラリ ビューをセキュリティ保護するようです。 (並べ替え) JQuery の

これは別のポストには私 シリーズの予定 使用方法 jQuery SharePoint と.
JQuery についてもっと学びたい場合, 私は非常にお勧め: 『 jQuery in Action クマ Bibeault、イェフダー Katz による.

思った最初の事の 1 つ, かつて私は jQuery を使って再生するには, 我々 が SharePoint ビューをセキュリティで保護するそれを使用できるかどうかは. 答えは"no" (または少なくとも, 不可能とは言わない). ただし, それは確かに困難に人々 が特定のビューを参照してくださいすることが可能.

これに取り組んでいるとき、私のサンド ボックス環境を始めました. その環境をここに書いた: 迅速で簡単な: SharePoint のあなた自身の jQuery サンド ボックスを作成します。.

「するには、セキュリティで保護するには」, これらの手順を実行します:

  1. セキュリティで保護するビューを作成します。. 私はそれを行なったし、それを「保護されたビュー」と呼ばれる.

    これは、"保護されていないときは"どのように見えるです。:

    image

  2. サンド ボックスの資料に記載されているトリックを使用してビューのページにコンテンツ エディター web パーツを追加します。 (すなわち. 追加「ページビュー = 共有&ToolPaneView = 2"URL).
  3. これらの狂気の手順に従って SharePoint _spUserId を把握します。, 信じるか:
    1. SharePoint 環境にログインします。.
    2. Web ブラウザーのアドレス フィールドに, タイプ: java スクリプトの設定」:アラート(_spUserId」).
    3. 結果を記録します。 (それは私の場合「13」).

      image

  4. コード ビューで、CEWP に以下の javascript を追加します。:

    <スクリプトの型 ="テキスト/javascript"
        src ="../../jQuery Library/jquery-1.3.2.min.js">
    </スクリプト>
    
    <スクリプトの型 ="テキスト/javascript">
      $(関数() {
    
        アラート(_spUserId);
    
        var theSecuredView = $(' iframe[FilterLink * = セキュリティで保護された  view]');
    
        場合 ((theSecuredView.length > 0) && (_spUserId = = 13))
          $(' iframe[FilterLink * = セキュリティで保護された  view]').親().親().親().html("<tr bgcolor = 赤><td>あなたのビューを使用しません。!</td></tr>");
      });
    
    </スクリプト>
    

その警告を含まれています。(_spUserId) これはない方法を示すためにそこにラインは本当に、「するには、セキュリティ保護する」, 単にそれより困難を参照してくださいすることが、. その瞬間について.

基本的には, jQuery は、値に"セキュリティで保護された view"を含む属性を持つページ iFrame を探しています. それが見つかったら, 我々 は現在のユーザーが「13」であるかどうかをチェックします。. だとすると, 私たちに DOM を歩いて、 <TR> タグ (ソースを表示して、トレースによって私を考え出した) TR タグを自分のメッセージを交換. これはどのように堅牢です本当に分からない (非常に疑わしい, 実際), それは私のサンド ボックスで働いていたが、. 私はより良い方法を見つける場合, それについてのブログがあります。. これは、結果です。:

image

OK ボタンをクリックし、データに大きな赤色のメッセージに置き換えられます:

image

言うことができます。, 私は実装方法この「セキュリティ」ソリューションは、web パーツ自体を表示を許可するには. 完了すると、, 私は私"ビューがありませんあなたのためにそのコンテンツを上書き!"メッセージ.

それではないという事実にもかかわらず実際には"セキュリティで保護された '」ビュー, 潜在的に有用ないくつかの巧妙な仕事とは, 最終的にはより正式な意味でセキュリティ保護可能な場合があります。. 根本的な問題は、クライアントがすべてのデータを取得し、, データを取得した後のみ, それはそれを拭く. クライアントがデータを取得する場合, 巧妙なユーザーことができます jQuery のすべてを妨げるし、彼/彼女が見たいを参照してください。.

その他の欠点があります。. この「セキュリティ」手法、_spUserId オフ. 私たちが望むに本当に安全なに基づいて完全な SharePoint のセキュリティ モデル, あるいは、少なくともユーザー名で. 徐々 に難しくなります。, しかし、私はこの件名に書かれたいくつかの良いものを参照してください。, 私はその問題に対するよい答えを期待しているので.

自分のビューの一覧をトリミングします。, 可能であれば. 私はそれを把握しようとしていません。. 私はそれが可能と仮定します。, 誰かはただ彼らビューの URL を入力可能性があるので本当に基本的なセキュリティの問題を解決しませんが、 (彼らはそれを知っていた場合). ただし, トリミングにかなって. それは良い使いやすさ機能と物事を難読化すること. エンド ・ ユーザーは、ビューのイベントが存在することを把握していない場合, 彼らはおそらくそれを使用しようとはしません. 時々, それは十分によいです。.

幸運, 私はもっと時間をかけてこの件名に書き込む必要があります。.

</終了>

私のブログを購読します。.

私は Twitter の上に従ってください。 http://www.twitter.com/pagalvin

迅速で簡単な: 使用する jQuery SharePoint フォーム テキスト フィールドを非表示にする方法

これは別のポストには私 シリーズの予定 使用方法 jQuery SharePoint と.
JQuery についてもっと学びたい場合, 私は非常にお勧め: 『 jQuery in Action クマ Bibeault、イェフダー Katz による.

以前, JQuery を使用して検索し、フォームのテキスト フィールドを非表示にする方法について書きました. 特定のアプローチのため気にしませんでした。 (-それは単に両親が連鎖されたこれらの日を行われていません。, 少なくとも品質な家族).

最初それについて考え始めたとき, 見つけるために必要を知っていた、 <TR> 私は、非表示を呼び出す可能性があります。() メソッド. 正しいを見つける私の早めの努力 <TR> このようなものだった:

$(' tr:が(入力[タイトル = 私を非表示!])');

それの問題は、それを見つけるだろうすべて <TR> タグを非表示に任意の親の関係を持っていた私! フィールド, 私も非表示にします。! 多くのレベル深い入れ子になっています。 <TR>の. それが私のサンド ボックスのフォームに判明します。, その表現が見つかった 9 異なる TR を持っている私を隠す! その DOM ツリーのどこかの子として. 入力フィールド自体から歩いてツリーをバックアップできることに気づいた, では、親の濫用に終了方法, しかし、私と一緒によく座っていませんでした。.

私はこれにいくつかの考えを与えたし、最後に読んだものの 1 つを成して: Not を使用可能性があります。() メソッドをトリムするには <TR>私のラップされたセットにしたくないの. これに私を導いた:

$(' tr:が(入力[タイトル = 私を非表示!])').ない(' tr:が(tr)').非表示します。();

最初のビットはすべてを見つけ、 <TR> タグが非表示にする私! あれば、自分の階層フィールド. それは、いずれかをストリップします。 <TR> それはまた子供がいます。 <TR>. これ一つで私たちを葉します。 <TR> を:

1) ないです。 <TR> 子レコード

2) 子として入力フィールドをが.

我々 はその後、非表示を適用できます。() メソッドの結果を設定し、我々 が行っています。.

私はまだこのことについて少し緊張, しかしない親のチェーンのように神経質.

私は、これがベスト プラクティスであるかどうか知らない. 適切な方法を識別する可能性がありますだけ <TR> SharePoint フォームに注意します。. あなたが知っている場合, くださいコメントを投稿します。.

</終了>

私のブログを購読します。.

私は Twitter の上に従ってください。 http://www.twitter.com/pagalvin

Technorati のタグ: ,

迅速で簡単な: JQuery を使用して SharePoint フォーム上のテキスト フィールドを非表示にする

これは別のポストには私 シリーズの予定 使用方法 jQuery SharePoint と.
JQuery についてもっと学びたい場合, 私は非常にお勧め: 『 jQuery in Action クマ Bibeault、イェフダー Katz による.

更新プログラム (既に!): 検索する良い方法の感想は <TR> タグを非表示にして ここにそれについて書いた. まだ興味深い見つけるかもしれないこの記事かくので、私は学習を.

テキスト フィールドを非表示にします。, 私を隠す」!"示すように:

image

JQuery の次は私のためのトリックを行います:

<スクリプトの型 ="テキスト/javascript">

  $(関数() {


    $(' 入力[タイトル = 私を非表示!]').親().親().親().非表示します。();

  });

</スクリプト>

コードは言っています。, "私はすべての入力フィールドのタイトルを見つける = 私を非表示!. [, 親とし、次へを得る親とは * next * 親 (あー!) 非表示にするを呼び出す() そのことで法, あることを起こるものは何でも.

SharePoint 作成のように、フォームの HTML を表示することによってその親構造を考え出した:

<TR>
    <TD nowrap="true" valign"トップ =" "190px =" クラス"ms-formlabel"=>
        <H3 クラス"ms-standardheader"=>
            <nobr>私を非表示します。!</nobr>
        </H3>
    </TD>

    <TD valign"トップ =" クラス="ms formbody" 「400 px」を =>
        <!-- FieldName = 私を隠す」!"
                 FieldInternalName ="Hide_x0020_Me_x0021_"
                 FieldType ="SPFieldText"
        -->
        <スパン dir=「なし」>
            <入力
                名前="ctl00$ m$ g_bdb23c2c_fde7_495f_8676_69714a308d8e$ ctl00$ ctl04$ ctl02$ ctl00$ ctl00$ ctl04$ ctl00$ ctl00$ テキスト フィールド"
                タイプ"テキストを ="
                maxlength プロパティ"255 ="
                id"ctl00_m_g_bdb23c2c_fde7_495f_8676_69714a308d8e_ctl00_ctl04_ctl02_ctl00_ctl00_ctl04_ctl00_ctl00_TextField ="
                タイトル私を隠す」を =!"
                クラス="ms ロング" />
                <br>
        </スパン>


    </TD>
</TR>

この図は同じ, しかし、両親とマークアップ:

image

最初の親 (1) span タグは、します。. スパンの親 (2) TD タグであり、最終的になれば本当に親を非表示にします。 (3) TR タグ自体であります。.

これは、このフォームの非常に特定の構造に非常に依存しているためにだと思うかなりひどいアプローチ. ときに SharePoint 2010 出てくる, この全体の構造を変更し、このアプローチを破る. クラフトの線に沿って、jQuery セレクター"私を見つけるすべての TR の私が本当にしたいです。 (TR タグのみ) あるどこかそれらの子要素の入力フィールドのタイトル = 私を非表示!”. 私は底から始まって、上へ移動. これを把握と仮定すると, 更新を投稿します"迅速かつ簡単な ' の記事.

</終了>

私のブログを購読します。.

私は Twitter の上に従ってください。 http://www.twitter.com/pagalvin

del.icio.us タグ: ,

Technorati のタグ: ,

迅速で簡単な: SharePoint のあなた自身の jQuery サンド ボックスを作成します。

これは別のポストには私 シリーズの予定 使用方法 jQuery SharePoint と.
JQuery についてもっと学びたい場合, 私は非常にお勧め: 『 jQuery in Action クマ Bibeault、イェフダー Katz による.

SharePoint で jQuery を使って開始は驚くほど簡単 (私を). (運用環境にこれらの事を展開する「ベスト プラクティス」アプローチについて深刻な質問を行う, それは別の日の). 私はこの技術とそのための再生を開始しました, 使用するサンド ボックス環境を作成しました。. JQuery を始めるために探しているなら, あなたはこのアプローチが役に立つことがあります。.

1. 空のサイトを作成します。

あなたのサイトのどこか空のサイトを作成して"jQuery サンド ボックス"のような巧妙な何かコール.

2. JQuery をダウンロードします。

ここから jQuery javascript ライブラリをダウンロードすることができます。: http://docs.jquery.com/Downloading_jQuery

ことがあなたのデスクトップに保存します。.

「縮小」のバージョンを使用されています。.

3. SharePoint ドキュメント ライブラリを作成します。

サンド ボックス サイト内, ドキュメント ライブラリを作成します。.

4. JQuery ライブラリを SharePoint にアップロードします。

作成したドキュメント ライブラリにアクセスし、jQuery ライブラリをアップロード.

5. カスタム SharePoint リストを作成します。

標準的な SharePoint フォームでウロウロしたいのでカスタム リスト始めました. ページ ライブラリ内のページや web パーツ ページおよびおそらく多くの他の場所も作成.

に対して jQuery を実行する何かがあるので、カスタム リストにいくつかの列を追加します。. 私の初期の目的は、:

  1. フィールドの非表示します。.
  2. フィールドに値を割り当てる.

その心の目的, 2 つのテキスト フィールドを追加しました. 時間をかけて, 私はリンクで遊んでみよう, 画像, ルックアップ, など.

6. NewForm.aspx Web パーツ ページを変更し、コンテンツ エディター Web パーツを追加

これは少しブラック magic-ish , それが私の新しいコンセプトです。. 私は最初からこのことについて学んだ ポール ・ グルニエ, SharePoint jQuery のスーパー スター, CodePlex プロジェクト サイトでは、: http://spff.codeplex.com/.

NewForm.aspx が表示されます任意のカスタム リストを同じページに、CEWP を追加する手順に従います:

  1. カスタム リストにアクセスし、新規をクリックします.
  2. 次の URL に追加します。: ページビュー = 共有&ToolPaneView = 2

このような何かから退屈なバニラのデータ エントリ フォームに変換されます。:

image

これに:

image

コンテンツ エディター web パーツをページに追加します。.

7. あなたの最初の jQuery コードを書く

[コード] ビューでその CEWP を開くし、次の追加:

image

ここで、実際のコードは、コピー/貼り付けする場合:

<スクリプトの型 ="テキスト/javascript"
    src ="../../jQuery Library/jquery-1.3.2.min.js">
</スクリプト>

<スクリプトの型 ="テキスト/javascript">
  $(関数() {

    $(' #resultsID').html(' があります ' + $(' a').サイズ() + ' このページでタグ タグ。 ');

  });
</スクリプト>

結果:
<div id =' resultsID'></div>
/結果

注意最初の <スクリプト> タグは実際 jQuery ライブラリを参照します。. おそらく, これらの事を時間をかけて変更します。, 確認したいので、) 正しい名前と b を使用します。) 正しい SharePoint ドキュメント ライブラリを指すように.

栄光に浴する

あなたが正しくそれをした場合, 次のような結果が表示されます。:

image

包む

これは開始する唯一の方法ではないです。, しかし、それは速い, 簡単で、既存の SharePoint 環境から分離されました。.

</終了>

私のブログを購読します。.

私は Twitter の上に従ってください。 http://www.twitter.com/pagalvin

Technorati のタグ: ,

del.icio.us タグ: ,

迅速で簡単な: SharePoint フォームの設定、テキストのフィールドの値に jQuery を使用してください。

私はで遊んで開始 jQuery 昨日. 私は長い間これを行うにしたいと思ってきた, 以来 ポール ・ グルニエ 書き始めた 彼のシリーズ 由緒あるでエンド ・ ユーザーのための jQuery について www.endusersharepoint.com web サイト. それを使うので, このような一連の「簡単で使いやすい」の記事を追加したいです。. この記事は、何をしたい既知のテキスト フィールドの値を設定する方法を説明します。.

このシナリオでは, その「新しい」フォームのように表示されますカスタム リストを作成しました。:

image

これは既定のタイトル列を持つカスタム リスト用の新しいフォームと 2 つのリストの列 (サイト列; 任意の違いを作るべきであるとは思わない).

目的のフィールドに任意の値を割り当てるには, "DefaultMeFieldNoSpaces" (私に起こっている、「スペース」と臆病者のビットを伝えることができます。, しかし、この記事の終わりに入れましたか).

JQuery のこのビット労役我乍ら:

<スクリプトの型 ="テキスト/javascript">

  $(関数() {

    $(' 入力[タイトル = DefaultMeFieldNoSpaces]').attr(
        {: ' の通路の曲がりくねった迷路の中では, すべて同じです '。});

  });

</スクリプト>

私はそれを理解して jQuery のこのビットは言っています。, 「私にいずれか見つける入力タグのタイトル = DefaultMeFieldNoSpaces. [, すべてのこれらの値に設定、有名なフレーズ古いコンピューター ゲームから。」

我々 はそのフィールドに値を割り当てることの保証と他にないだけがある 1 つのフィールド、タイトルをフォームの"DefaultMeFieldNoSpaces"と等しいので.

名前に空白文字はフィールドについての何? それはほぼ同じ:

<スクリプトの型 ="テキスト/javascript">

  $(関数() {
     $(' 入力[タイトル = フィールドで空間に割り当てる]').attr(
        {値: ' の通路の曲がりくねった迷路の中では, すべて同じです '。});

  });

</スクリプト>

これは、かなり安全なアプローチだと思う, 私たちが望むフィールドおよびフィールドだけを検索することができるべきであることを意味したいです。. HTML SharePoint は私たちを与えている場合を見て, それは一種の乱雑:

<入力
名前="ctl00$ m$ g_bdb23c2c_fde7_495f_8676_69714a308d8e$ ctl00$ ctl04$ ctl02$ ctl00$ ctl00$ ctl04$ ctl00$ ctl00$ テキスト フィールド"
タイプ"テキストを ="
maxlength プロパティ"255 ="
id"ctl00_m_g_bdb23c2c_fde7_495f_8676_69714a308d8e_ctl00_ctl04_ctl02_ctl00_ctl00_ctl04_ctl00_ctl00_TextField ="
タイトル"DefaultMeFieldNoSpaces ="
クラス="ms ロング"
/>

私たち任意の値を代入する特定の列を特定するために認識可能なうまくいけばユニークな属性として際立っている「タイトル」.

これは、基礎的な概念. どんな賞を獲得するつもりはないこのような任意の方法でフィールドを設定. ただし, もっと面白いフォーム レベルのものをやってみたい場合 (私たちのすべては、常にやりたいです。, もちろんです, 終えたらすぐ、お皿を洗う), 値に基づいて、自動的に"フィールド b"の値を変更するよう"フィールド、", 私たち (私は) これらのことを学ぶ必要があります。.

ここで本当の有用な値を取得する私たちの最高のチャンスは、タイトルを介してだと思う, 少なくともテキスト フィールド. 良い可能性があります。, 信頼性の高いアプローチ. それを見つける場合, 私はこのポストが更新されます。. あなたはより良い方法を知っている場合, コメントを残してください。</終了>

</終了>

私のブログを購読します。.

私は Twitter の上に従ってください。 http://www.twitter.com/pagalvin

Technorati のタグ: ,