2013-02-23 17 views
7

शब्द से wysihtml5 editor पर पाठ की प्रतिलिपि बनाते समय, पाठ गड़बड़ हो जाता है (स्वरूपण की अवधि में और अतिरिक्त जोड़े गए वर्णों के मामले में)। क्या इसके लिए कोई आसान फिक्स है? सही व्यवहार जो मैं ढूंढ रहा हूं वह होगा स्टैक ओवरफ्लो का समृद्ध-पाठ संपादक काम करता है - शब्द की प्रतिलिपि बनाई गई और चिपकाई गई पाठ शब्द दस्तावेज़ के समान दिखाई देती है।wysihtml5: एक शब्द दस्तावेज़ से संपादक को पाठ की प्रतिलिपि बनाना

धन्यवाद!

अद्यतन: समस्याओं चिपकाया शब्द पाठ के स्वरूपण के साथ मनाया हल करने के लिए, मैं प्रयोग किया जाता wysihtml5-0.30_rc2.js फ़ाइल में लाइन "p": {}, गयी। लाइन को डिफ़ॉल्ट विकल्प [पार्सर नियम] [टैग] (see used resource) की घोषणा में जोड़ा गया था।

फिर भी, अब मैं चिपकाया पाठ की शुरुआत में देख सकते हैं एक "फ़ॉन्ट परिभाषाएं" पैरा:

<!-- /* Font Definitions */ @font-face {font-family:Arial; panose-1:2 11 6 4 2 2 2 2 2 4; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 0 0 0 1 0;} @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4; mso-font-charset:1; mso-generic-font-family:roman; mso-font-format:other; mso-font-pitch:variable; mso-font-signature:0 0 0 0 0 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-unhide:no; mso-style-qformat:yes; mso-style-parent:""; margin-top:0cm; margin-right:0cm; margin-bottom:10.0pt; margin-left:0cm; line-height:115%; mso-pagination:widow-orphan; mso-hyphenate:none; font-size:11.0pt; font-family:Arial; mso-fareast-font-family:Arial; mso-bidi-font-family:Arial; color:black; mso-fareast-language:HI; mso-bidi-language:HI;} a:link, span.MsoHyperlink {mso-style-unhide:no; mso-style-parent:""; color:navy; mso-ansi-language:#00FF; mso-fareast-language:#00FF; mso-bidi-language:#00FF; text-decoration:underline; text-underline:single;} a:visited, span.MsoHyperlinkFollowed {mso-style-noshow:yes; mso-style-priority:99; color:purple; mso-themecolor:followedhyperlink; text-decoration:underline; text-underline:single;} .MsoChpDefault {mso-style-type:export-only; mso-default-props:yes; font-size:10.0pt; mso-ansi-font-size:10.0pt; mso-bidi-font-size:10.0pt;} @page WordSection1 {size:612.0pt 792.0pt; margin:72.0pt 90.0pt 72.0pt 
90.0pt; mso-header-margin:36.0pt; mso-footer-margin:36.0pt; mso-paper-source:0;} div.WordSection1 {page:WordSection1;} --> 

यह केवल तब होता है जब मैं Firefox का उपयोग, और क्रोम में नहीं होता है। इस समस्या से छुटकारा पाने के बारे में कोई विचार?

+0

मुझे एक ही समस्या है! – RayOnAir

+0

मुझे भी एक ही समस्या है और यह मुझे पागल कर रहा है। मुझे वास्तव में wysihtml5 पसंद है; हालांकि, मेरे उपयोगकर्ता, जो शब्द वर्ड में लिखना पसंद करते हैं, प्रतिलिपि बनाने और चिपकाने के लिए हमेशा के लिए समस्याएं होती हैं। एक फिक्स के लिए चल रही खोज में कोई भाग्य? – realistschuckle

उत्तर

1

wysihtml5 में एक पार्सर शामिल है जो अपने पाठ क्षेत्र में चिपकाए गए सभी पाठ का विश्लेषण करता है और parserRules कॉन्फ़िगरेशन ऑब्जेक्ट में परिभाषित फ़िल्टर नियमों को लागू करता है। अपने parserRules पर "style": { "remove": 1 } जोड़ना चाल करना चाहिए।

फ़ायरफ़ॉक्स समस्या को समझने के लिए, आपको कच्चे क्लिपबोर्ड HTML सामग्री (शब्द से उत्पन्न) देखना होगा जो टेक्स्ट क्षेत्र में चिपकाया जाता है। बस कुछ वर्ड टेक्स्ट कॉपी करना और टेक्स्ट एडिटर में पेस्ट करना इससे मदद नहीं करेगा क्योंकि पाठ संपादक क्लिपबोर्ड सामग्री के टेक्स्ट-केवल संस्करण का अनुरोध करता है।

यदि आप मैक पर हैं तो आप ClipboardViewer tool की सहायता से इस कच्ची क्लिपबोर्ड सामग्री को देख सकते हैं कि आपको XCode के साथ स्वयं को संकलित करना होगा। वांछित HTML सामग्री public.html या Apple HTML pasteboard type फ़ील्ड में होनी चाहिए। शायद ऐसे अन्य उपकरण मौजूद हैं जिन्हें संकलित करने की आवश्यकता नहीं है और/या अन्य ऑपरेटिंग सिस्टम पर काम करना आवश्यक नहीं है।

अब आप यह देखना चाहिए कि पद से अपने क्लिपबोर्ड सामग्री वास्तव में तो (अपनी सामग्री के सभी के साथ) style टैग हटाने के द्वारा

<span> 
    <!-- 
     /* Font Definitions */ 
     ... 
     div.WordSection1 {page:WordSection1;} 
     ... 
    --> 
    </span> 

तरह दिखता फ़ॉन्ट परिभाषा कबाड़ गायब हो जाता है।

कुछ और उन्नत कॉन्फ़िगरेशन विकल्पों को देखने के लिए wysihtml5’s parserRule demo पर एक नज़र डालें।

1

मैंने इसे wysihtml5.dom.getPastedHtml ओवरराइड करके हल किया है। Wysihtml5 लोड करने के बाद बस इसे जोड़ें:

wysihtml5.dom.getPastedHtml = function(event) { 
    var html; 
    if (event.clipboardData) { 
    html = event.clipboardData.getData('text/plain'); 
    } 
    return html; 
}; 
संबंधित मुद्दे