上我有下面的XML:IE9和Chrome沒有渲染與XSL XML如果XML是本地和XSL是遠程服務器
<?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瀏覽器將遠程XSL文件應用到本地XML文件,而不會影響瀏覽器的安全設置? 我們有一個桌面應用程序,用於生成XML報告並將其顯示在瀏覽器中,並使用託管在遠程服務器上的樣式表進行轉換。
@Tom可能會切換到JavaScript解決方案,例如, jQuery變換。這應該不重寫XSLT(但沒有測試它)[示例這裏](http://stackoverflow.com/questions/2042178/chrome-and-safari-xslt-using-javascript/2042441#2042441) – therealmarv
我的xml和xslt有一個根元素和一個模板,我只是把它留在外面,因爲我只是想顯示標題,應該包含所有內容。你的答案證實,這是由於安全限制(網絡和本地) - 所以沒有辦法讓它工作,而不改變xml和它的轉換方式? – TJF
有幾個(壞)解決方案,但我認爲最好的方法是改變程序轉換此XML的方式,不要依賴瀏覽器XSLT,如果要顯示報告,請使用自己的XSLT庫。這裏有一些不好的解決方案: - 將您的IE降級到IE8。 - 用firefox試試吧。 - 嘗試運行Chrome [Chromium Bug Comment](http://code.google.com/p/chromium/issues/detail?id=70088#c12) – therealmarv