jQuery and SharePoint 2010- JavaScriptを使用して、ページが編集モードであることを知るにはどうすればよいですか?

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

質問

CEWPには、ページが表示モードにあるときにのみ実行したいJavaScriptがあります。 FireBugを使用して、「mseditmode」タイプの変数または依存できるもののためにページを精査しました。

サーバー側からページが編集モードであるかどうかを見分ける方法について、たくさんの質問と回答を見てきましたが、ページが編集モードであるかどうかを示す方法の解決策はありません。クライアント側です。

誰かが私を正しい方向に向けることができますか?そのような変数を単に放出するWebパーツを作成する必要がありますか? (それは私にはやり過ぎのようです。)

本当にありがとう!

役に立ちましたか?

解決

ロブの解決策 - ボタンを見る - は、実行可能なアプローチのように見えます。

また、簡単なタブV5コードを見てください。

http://www.pathtosharepoint.com/sharepoint-user-toolkit/pages/easy-tabs-v5.aspx

簡単なタブの場合、SP 2007とSP 2010の両方で動作するためにコードが必要だったため、別のアプローチを使用しました。以下は、以下をテストします。

p.getAttribute("contenteditable")=="true"; //(where p is a Web Part zone)
document.forms[0].elements["MSOLayout_InDesignMode"].value=="1";
document.forms[0].elements["_wikiPageMode.value"]=="true"; //(wiki page)

他のヒント

Amal Hashimのブログ投稿を見つけました: JavaScript編集モードでSharePointページを検出します ページ、Wikis、Publishing Pagesにはさまざまなアプローチがあります。それらを1つのヘルパー関数に組み合わせました。

function isEditMode() {
    var publishingEdit = window.g_disableCheckoutInEditMode,
        form = document.forms[MSOWebPartPageFormName],
        input = form.MSOLayout_InDesignMode || form._wikiPageMode;  
    return !!(publishingEdit || (input && input.value));
}

これは戻ります true ページが編集されている場合 false ページがビューモードにある場合。

やや安っぽいアプローチは、ページが編集モードにあるときに存在するページ上の要素を探すことです。たとえば、編集モードで「編集ツール」リボンが表示され、左側に保存アイコンが表示されます。 IE開発者ツールを使用すると、保存ボタンのコードが次のようになります。

したがって、jQueryを使用すると、ページに「保存と閉じる」の存在を確認するか、完全に別の要素を選択してください - ユニークな要素。

さまざまなページタイプ(ブログ、Wikis、Webパーツページ)は、異なるタグを使用する場合と使用しない場合があるため、これは全面的に機能しない場合があることに注意してください。したがって、スクリプトを含める前に、使用しているページを再確認してください。

詳細を見つけました。オブジェクトモデルを介してそれを行いたい場合は、これらのリンクのいずれかが役立つかどうかを確認してください。

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.publishing.webcontrols.editmodepanel.aspx

前述のクラスの実装の例:http://mystepstones.wordpress.com/2008/09/23/detecting-the-current-mode-displayedit/

ライセンス: CC-BY-SA帰属
所属していません sharepoint.stackexchange
scroll top