ある場合IE9とChromeは、XSLとXMLをレンダリングしない:XMLがローカルであるとXSLは、私は、次のXML持つリモートサーバー上
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="http://www.test.com/AuditTrail.xsl"?>
とXSLを:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<html>
<head><title>Test</title></head>
</html>
</xsl:stylesheet>
これはIE8でうまく動作しますが、 IE9やChromeでは使用できません。 XMLソースファイルがローカルマシン上にある場合、IE9がリモートサーバーからXSLをロードすることを禁止しているようです。 ブラウザのセキュリティ設定を邪魔することなく、IE9とChromeでローカルのXMLファイルにリモートXSLファイルを適用する方法はありますか? XMLレポートを生成し、ブラウザに表示し、リモートサーバーでホストされているスタイルシートで変換されたデスクトップアプリケーションがあります。
@TomのようなJavaScriptソリューションに切り替える可能性があります。 jqueryトランスフォーム。これは、XSLTを書き直すことなく動作するはずです(テストしませんでした)[Example here](http://stackoverflow.com/questions/2042178/chrome-and-safari-xslt-using-javascript/2042441#2042441) – therealmarv
My xml xsltにはルート要素とテンプレートがあります。私はちょうどヘッダを表示したかったので、すべて残しておきました。あなたの答えは、これがセキュリティ上の制限(ウェブとローカル)によるものだと確信しています。そのため、XMLとそれが変換される方法を変更しないで動作させる方法はありません。 – TJF
いくつかの(悪い)解決策がありますが、あなたのプログラムがこのXMLを変換する方法を変更し、ブラウザのXSLTに依存せず、レポートを表示する場合は独自のXSLTライブラリを使用することをお勧めします。ここでいくつかの悪い解決策があります: - あなたのIEをIE8にダウングレードします。 - Firefoxで試してみてください。 - この[Chromium Bug Comment](http://code.google.com/p/chromium/issues/detail?id=70088#c12) – therealmarv