2009-10-22 2 views
1

요약 : : 나는 이것에 대해 완전히 잘못 생각하고 있습니까? 아니면 셰어 포인트를 중지 할 수있는 방법이 있습니까? , 추가되는 HTML을 munging에서?셰어 포인트 리치 컨텐츠 에디터 사용자 정의 툴바 버튼에서 HTML을 추가했습니다.

저는 Sharepoint 2007을 중심으로하는 프로젝트에 '빠져 있습니다.'(전적으로 그것에 대해 기쁘게 생각하지 않습니다.), 그 중 하나가 풍부한 콘텐츠를 사용하는 방법입니다 사용자가 '부유 한 콘텐츠'를 넣고 확장 가능한 콘텐츠 영역, 대화 상자 등과 같이 콘텐츠에 특정 '추가 콘텐츠'를 추가하는 영역입니다.

초기 공격 계획은 셰익스피어 콘텐츠 편집기 도구 모음, 우리는 이것을 할 코드가 있고, 등등 작동하고 특정 요소에 자바 스크립트 이벤트 처리기를 붙인다.

우리가하는 일 중 하나는 <a> 요소를 사용하고이어서 <div>을 사용하여 대화 상자를 설정하는 것입니다 (jQuery UI를 사용하여 마법을 수행). 사용자가 다음과 같은 편집기에 삽입 된 '삽입 대화'버튼을 클릭하면 :

<a href="#" class="dialog-trigger">Click me to open the dialog</a> 
<div class="dialog-content"> 
    this is some dialog content etc 
</div> 

우리가 .dialog 트리거 클릭 방법에 끼어 페이지로드는 .dialog-content하고있는 a 요소의 형제를 잡아 때 대화 상자로 설정하십시오. 이것은 편집하고 싶지 않은 한 '효과가 있습니다'. 내가 찾은 무엇

은 그 즉시 당신이 목록을 추가하는 것은 다음과 같은 HTML에 추가, 풍부한 컨텐츠 편집기 예를 들어, HTML을 munging 시작 .dialog-content DIV 내에서 내용을 편집을 시작으로 :

<li><div class=dialog-content>Some list item</div></li> 
<li><div class=dialog-content>Some list item 2</div></li> 
<li><div class=dialog-content>Another list item</div></li> 

당신이 상상할 수 있듯이 이런 종류의 일은 우리가하려는 일을 해칩니다.

내가 물어 보려는 내용을 요약하면, 우리는 완전히 잘못된 방향으로 가고 있습니까? 아니면 Sharepoint 또는 Rich Editor를 막을 수있는 방법이 있습니까?

답변

0

HTML을 편집자 콘텐트에 그대로 두는 것만으로도 편집기가 HTML을 망칠 수 없습니다. 콘텐츠를 그대로 유지해야하는 경우 콘텐츠를 다른 곳에 저장해야하며 실제 콘텐츠 (예 : alt 속성의 자리 표시 자 이미지)에 대한 ID가 포함 된 편집기의 자리 표시자를 보유해야합니다. . 편집기가 저장 될 때 이러한 자리 표시자를 실제 HTML 내용으로 바꾸고 편집기가로드 될 때 그 자리 표시자를 바꾸어야합니다.

0

SharePoint의 리치 텍스트 편집기가 다른 오픈 소스 솔루션과 비교해도 최상입니다. 어쨌든 사전 정의 된 스타일을 사용하도록 사용자를 교육 할 수 있습니까? 그런 다음 JQuery를 사용하여 작업을 수행하십시오.

당신은 당신의 CSS

/*.ms-rteCustom-anything else you want*/ 
/*e.g.*/ 
.ms-rteCustom-DialogTrigger { 
    color:#333333 
} 

이제 셰어 편집기 스타일에 따라 당신 "DialogTrigger"를 표시하고 사업부로 적용됩니다에서 다음을 수행합니다.

기술적으로 다른 편집기를 사용하여 SPAPI 또는 JQuery + SharePoint 웹 서비스를 사용하여 SharePoint에 다시 게시 할 수 있습니다.

관련 문제