سؤال

في متصفح Safari، لا يتم عرض <asp:Menu> القياسي بشكل جيد على الإطلاق.كيف يمكن إصلاح هذا؟

هل كانت مفيدة؟

المحلول

شكرا على النصيحة، قادتني إلى الحل التالي؛

لقد قمت بإنشاء ملف باسم "safari.browser" ووضعته في دليل App_Browsers.محتوى هذا الملف موضح أدناه؛

<browsers>
    <browser refID="safari1plus">
        <controlAdapters>
            <adapter controlType="System.Web.UI.WebControls.Menu" adapterType="" />
        </controlAdapters>
    </browser>
</browsers>

كما أفهمها، فإن هذا يخبر ASP.NET بعدم استخدام المحول الذي يستخدمه عادةً لعرض محتوى التحكم واستخدام عرض المستوى الأعلى بدلاً من ذلك.

نصائح أخرى

يمكنك استخدام ControlAdapters لتغيير عرض عناصر تحكم الخادم.

هنا مثال:http://www.pluralsight.com/community/blogs/fritz/archive/2007/03/27/46598.aspx

على الرغم من ذلك، في رأيي، قد يكون التخلي عن التحكم في القائمة لصالح عنصر تحكم CSS خالصًا (متاحًا في العديد من المواقع) يتطلب قدرًا متساويًا من العمل.

Oooof - كنت أتمنى أن تكون حالة بسيطة لإضافة عنصر browserCaps في web.config بقيم مناسبة أو ما شابه ذلك...

أفضل وأبسط حل وجدته لهذه المشكلة هو تضمين هذا الجزء من التعليمات البرمجية في حدث page_load الخاص بك.

if (Request.UserAgent.IndexOf("AppleWebKit") > 0)
    Request.Browser.Adapters.Clear();
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top