Thẻ đoạn trong các trình duyệt khác nhau với SDL Tridion?


7

Trong hệ thống quản lý nội dung SDL Tridion 2011, khi chỉnh sửa một thành phần trong trường văn bản có định dạng (RTF), tôi nhận thấy nhấn enter kết quả trong các thẻ HTML khác nhau trong nguồn.

Tôi nghĩ rằng nó dựa trên trình duyệt kể từ khi tôi <div>sử dụng Chrome. Làm cách nào để đảm bảo tôi nhận được <p>thẻ trong tất cả các trình duyệt?

Cập nhật: SDL Tridion 2011 SP1 có phần sau trong bộ lọc văn bản giàu lược đồ XSLT mặc định, xuất hiện để khắc phục tình huống nhấn enter khi chỉnh sửa Văn bản hoặc đoạn văn bản thông thường. Tôi vẫn gặp sự cố khi nhấn enter sau một tiêu đề, xuất hiện dưới dạng divtrong Chrome.

<stylesheet xmlns="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <output omit-xml-declaration="yes" method="xml" cdata-section-elements="script"></output>
    <template match="/ | node() | @*">
        <copy>
            <apply-templates select="node() | @*"></apply-templates>
        </copy>
    </template>
    <template match="*[      (self::br or self::p or self::div)     and      normalize-space(translate(., &apos; &apos;, &apos;&apos;)) = &apos;&apos;     and      not(@*)     and      not(processing-instruction())     and      not(comment())     and      not(*[not(self::br) or @* or * or node()])     and      not(following::node()[not(         (self::text() or self::br or self::p or self::div)        and         normalize-space(translate(., &apos; &apos;, &apos;&apos;)) = &apos;&apos;        and         not(@*)        and         not(processing-instruction())        and         not(comment())        and         not(*[not(self::br) or @* or * or node()])       )])     ]">
        <!-- ignore all paragraphs and line-breaks at the end that have nothing but (non-breaking) spaces and line breaks -->
    </template>
    <template match="br[parent::div and not(preceding-sibling::node()) and not(following-sibling::node())]">
        <!-- Chrome generates <div><br/></div>. Renders differently in different browsers. Replace it with a non-breaking space -->
        <text> </text>
    </template>
</stylesheet>

Câu hỏi cập nhật sau đó là:

Làm cách nào để đảm bảo tôi nhận được <p>thẻ trong tất cả các trình duyệt, ngay cả khi nhấn enter sau tiêu đề?

Câu trả lời:


6

Vấn đề không phải là mới và là một vấn đề chung với việc sử dụng nội dung.
/programming/2735672/how-to-change-behavior-of-contenteditable-blocks-after-on-enter-pressed-in-vario

Telerik như đưa ra một giải pháp, nơi bạn có thể chỉ định hành vi nào bạn muốn, điều mà tôi đề nghị SDL cũng thực hiện. http://www.telerik.com/help/aspnet-ajax/editor-USE-newlinebr-property.html

Nhưng có vẻ như nó chưa được chú ý. Câu hỏi lớn hơn là, khi nào SDL bắt đầu sử dụng HTML 5 ...


Cảm ơn, @Hendrik. Tôi thấy SP1 đã sửa một số điều này với thay đổi bộ lọc XSLT, nhưng không trả về sau các tiêu đề.

5

Chúng tôi có cùng một vấn đề - điều này dựa trên hành vi cụ thể của trình duyệt. Tôi đã tìm thấy Fire Fox, IE và Chrome cho tất cả các kết quả khác nhau. Nếu bộ nhớ phục vụ tốt:

  • IE cung cấp <p>thẻ
  • Fire Fox tăng gấp đôi <br/>
  • Chrome sử dụng <div/>thẻ

Tôi có một vé nộp cho bộ phận Hỗ trợ khách hàng về vấn đề này, nhưng đến bây giờ, tôi vẫn chưa có giải pháp. Vì vậy, hiện tại chúng tôi dán nội dung vào trường thay vì thực sự chỉnh sửa trong trường nếu không nó làm rối các tiêu chuẩn XHTML của chúng tôi và CSS của chúng tôi không hoạt động chính xác.


Tôi không nhớ phiên bản tôi đã bật (chắc chắn là trước SP1, nhưng cả GA hoặc Hotfix Rollup) và tôi cũng có hành vi tương tự. Tôi có phiên bản sau trên máy thử nghiệm của mình và nhận <p>thẻ với Chrome trong RTF bằng cách nhấn enter ngay. Content Manager Explorer - Build 6.1.0.55920 Content Manager - Build 6.1.0.996 Update Version - SP1 Tuy nhiên, sau khi thay đổi văn bản thành cấp độ tiêu đề, nhấn return sẽ cho tôi một "Container chung (div)" mới hoặc <div>. Tôi mong đợi một đoạn văn, tương tự như cách Word làm <p>theo mặc định.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.