يعمل XSLT مع Opera و Safari و Chrome ولكن ليس مع Firefox 13 و Internet Explorer 9

لدي بعض المشاكل مع Internet Explorer 9 و Firefox 13. فأنا أقوم بإنشاء واجهة ويب باستخدام HTML و XSL و xml ، وهي تعمل بشكل جيد مع Chrome وأوبرا وسفاري دون أي تغيير ، ولكنها لا تعمل مع Firefox 13 و Internet Explorer 9. مع Firefox هناك بعض الصفحات (وليس كلها) التي لا تستطيع تحميل قيم xml ، في Internet Explorer لا أستطيع تحميل CSS لصفحات HTML التي تستخدم XSLT ، ولكن يمكنني تحميل جميع المعلمات بشكل صحيح.

أعلاه يمكنك العثور على مثال لصفحة لا تعمل (HTML ، xml ، XSL)

HTML

<html>
<head>
<script>
function loadXMLDoc(dname)
{
if (window.XMLHttpRequest)
  {
  xhttp=new XMLHttpRequest();
  }
else
  {
  xhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xhttp.open("GET",dname+"?id="+Math.random(),false);
xhttp.send("");
return xhttp.responseXML;
}

function displayResult()
{
XML=loadXMLDoc("sensorParameters.XML");
XSL=loadXMLDoc("sensorParameters.XSL");
// code for IE
if (window.ActiveXObject)
  {
  ex=XML.transformNode(XSL);
  document.getElementById("example").innerHTML=ex;
  }
// code for Mozilla, Firefox, Opera, etc.
else if (document.implementation && document.implementation.createDocument)
  {
  XSLtProcessor=new XSLTProcessor();
  XSLtProcessor.importStylesheet(XSL);
  resultDocument = XSLtProcessor.transformToFragment(XML,document);
  document.getElementById("example").appendChild(resultDocument);
  }
}
</script>
</head>
<body onload="displayResult()">
<div id="example" />
</body>
<head>
<meta http-equiv="cache-control" content="no-cache">
</head>
</html>

XSL



<html>
    <head>
          <title>Interface</title>
          <link rel="stylesheet" type="text/css" href="style.css" />
    </head>
    <body>
    ...
    (It continues, but it is not important...)
    </body>
</html>


XML

<?XML version="1.0" encoding="ISO-8859-1"?>
<?XML-stylesheet type="text/XSL" href="sensorParameters.XSL"?>


          ......... some data


          ......... some data

          .........

سيكون موضع تقدير أي مساعدة.

ماركو

0
MartinHonnen مرحبا مارتن ، شكرا لردكم. لا يمكنني نشر عنوان URL لأنني أعمل محليًا. ما يحدث هو أنه إذا كان لدي جدول أريد ملء بعض القيم من ملف xml ، فلن يتمكن Firefox من تحميله. ومع ذلك ، إذا كنت أستخدم firebug لإلقاء نظرة على مصدر الصفحة ، فأنا أرى أن فايرفوكس يقوم بتحميل المعلمات بشكل صحيح ، ولكنه غير قادر على عرضها.
وأضاف المؤلف user1474456, مصدر
MichaelKay سوف ألقي نظرة ، شكرا
وأضاف المؤلف user1474456, مصدر
هل يمكنك نشر عنوان URL لعينة بسيطة ولكنها كاملة تخفق مع Firefox وتشرح بالتفصيل ما يفشل على سبيل المثال؟ إذا كنت تحصل على خطأ ، أي واحد بالضبط؟
وأضاف المؤلف Martin Honnen, مصدر
قد ترغب في إلقاء نظرة على Saxon-CE التي نأمل أن تحل معظم مشاكل التوافق عبر المستعرض لديك.
وأضاف المؤلف Michael Kay, مصدر
تعمل الأمثلة الخاصة بك (حتى معدلة لاختبار CSS) بالنسبة لي في FF. أقترح إضافة . نظرًا لأنك تعمل محليًا ، فإن FF يصعب إرضاءه أيضًا بشأن السماح بشظايا من عناوين URL الأساسية المختلفة ، لذلك احذر من ذلك.
وأضاف المؤلف Phil Cooper, مصدر

1 إجابة

بالنسبة لمشكلة IE ، أعتقد أن أحد الأسباب المحتملة للمشكلة هو أسلوبك في استخدام XSLT لإنشاء مستند HTML كامل مع html عنصر الجذر ، الرأس مع link إلى ورقة أنماط ، ولكن بعد ذلك حاول تضمين نتيجة XSLT في عنصر div (حيث يتجاهل IE على الأرجح ). لإصلاح ذلك ، ستحتاج إلى تغيير النهج وتأكد من إضافة عناصر link التي أنشأتها XSLT إلى head لمستند HTML الذي قمت بإدخال نتيجة تحويل XSLT فيه.

0
وأضاف