Ich habe versucht, XSL mit Google Chrome zu verwenden, aber ohne Erfolg.
Ich habe gelesen, dass Chrome einige Bugs mit XSLT hat, und einer davon ist, dass es xsl: include nicht unterstützt. Bug kann hier überprüft werden: Ссылка .
Nach einigen Recherchen fand ich eine neue Version des Transform-Plugins von Daer System, und es macht xsl: include in Chrome arbeiten.
jQuery Transform-Plug-in finden Sie in Ссылка
Jetzt ist mein Problem:
Ich verwende ein Standard-Include in einigen XSL-Vorlagen, und dieses Include verwendet einen Parameter, der an die oberste Ebene übergeben wird.
Es ist also so, als hätte ich die Vorlage top.xsl , die ein [xsl: param name="param" /] deklariert, und ich verwende diesen Parameter mit der included.xsl , das heißt der erste mit [xsl: include href="included.xsl"]. Dies funktioniert sowohl in Firefox als auch in Internet Explorer, nicht jedoch in Chrome. Ich habe eine Frage hier auf Stackoverflow gesehen, wo ein Typ die webkit Fix-Funktion aus dem Plugin neu schreibt, aber es funktioniert nicht mit xsl: param so.
Kennt jemand eine Möglichkeit, [xsl: param] so in Google Chrome zu verwenden?
Ihr Problem besteht darin, dass Google Chrome (= Chromium) xsl:include
Das Fehlen dieser Funktion wird im Chromium-Projekt, das in "Problem 8441: XSLTProcessor in JS erlaubt nicht xsl: include für http ". Es scheint, dass das Problem durch ein Architekturproblem in WebKit (der in Chrome verwendeten Rendering-Engine) verursacht wird. Da dieses Problem auf WebKit zurückzuführen ist, wird der Fehler als WontFix markiert - der Fix wird (hoffentlich) in der Zukunft bereitgestellt werden, da das ursprüngliche Problem im WebKit gelöst wird.
Ich sehe drei mögliche Alternativen, wie dieses Problem für Sie gelöst werden könnte:
xsl:include
für Chrome / Webkit em emimierst (das erfordert viel Arbeit / Entwicklung eines Hacks)
Meine Empfehlung: Vermeiden Sie die Verwendung von xsl: include mit xsl: param auf der Clientseite, es sei denn, Sie sind bereit, die browserübergreifende Kompatibilität aufzugeben
Altes Thema, das ich kenne, aber hier überprüft, ob das Problem behoben wurde.
Ich habe es erneut getestet und es hat zumindest in der Version 47 von Chrome. Endlich können Sie xsl: include verwenden.
Es ist ein Problem, aber Sie können dies auch mit einem clientseitigen Shim umgehen, der xsl: import / xsl: includes im Browser vorlädt.
Das folgende ist TypeScript (im Grunde statisch typisiertes JavaScript, das mit JavaScript kompiliert wird) und hat ein paar Verweise auf Interfaces, die ich nicht entfernen wollte, aber es scheint in Chrome zu funktionieren (bin mir nicht sicher über andere Browser) und sollte ausreichen, um irgendjemanden mit einer Lösung zu beginnen.
%Vor%Tags und Links jquery google-chrome jquery-plugins xslt