2013-05-02 32 views
0

我使用的是帶有「PURE JAVASCRIPT」的Fusion Chart,但帶有我們希望在客戶端的導出功能。FusionChart在客戶端提供了SVG或VML的圖表。我們要合併這個VML或SVG到XML文件以及XSLT樣式表。到現在爲止,我們想要將導出到XML功能導入到我們的應用程序中。基於瀏覽器的包含SVG和VML的XML

現在問題是SVG只能被Mozilla,Chrome瀏覽器和IE瀏覽器給出VML。所以客戶端將獲得包含SVG和VML的公共文件,但問題是XSLT中沒有檢測瀏覽器類型和版本的意思。我使用了IE條件註釋,但它在chrome,mozilla中無效並且不起作用在ie.Even用JavaScript doesnot工作,我會想在JavaScript變量值的XSLT變量,這將不可行,因爲XML先呈現之前的JavaScript,所以我不能有共同的XML + XSLT代碼爲所有browser.as我們希望將獨立的XML提供給包含數據+圖像的客戶端。

任何有關這方面的幫助將不勝感激。 chart.getSVGString() -

<?xml version="1.0" encoding="ISO-8859-1"?> 
<?xml-stylesheet type="text/xsl" href="#stylesheet"?> 
<!DOCTYPE doc [ 
<!ATTLIST xsl:stylesheet id ID #REQUIRED>]> 
<doc> 
<xsl:stylesheet id="stylesheet" version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > 
<xsl:template match="xsl:stylesheet" /> 
<xsl:template match="/doc"> 
<html> 
<head> 
<style> 
    body{ 
    font-family: Arial, Verdana,Helvetica, sans-serif; 
    } 
    table{ 
    font-size: 11px; 
    } 
th{ 
background-color:#D1D2D4; 
} 
</style> 
</head> 
<body> 
<br /> 
    <!-- detect browser here for getting SVG or VML if Mozilla,chrome then SVG-> 

<svg xmlns="http://www.w3.org/2000/svg"........> </svg> 

<!-- If IE <=8 then VML --> 

<br/> 
<table border="2" cellspacing="1" width="86%"> 
    <tr> 
    <th>Category</th> 
    <th>Hits</th> 
    <th>Bytes</th> 
    </tr> 
    <tr> 
    <td>IPAddress</td> 
    <td>1818</td> 
    <td>747.32 MB</td> 
    </tr> 
    <tr> 
    <td>None</td> 
    <td>1523</td> 
    <td>27.82 MB</td> 
    </tr> 
</table> 
    </body> 
</html> 
</xsl:template> 
</xsl:stylesheet> 
</doc> 

感謝, 阿莎Kosht​​i

+0

也許提供XML和SVG和VML都支持,將呈現。沒有任何標準瀏覽器支持標準模式! – 2013-05-02 21:00:47

+0

ShamasisBhattacharya ..我不想要這兩個,但想要的東西,我可以檢查瀏覽器類型,因此可以呈現其中之一。 – 2013-05-03 04:44:45

回答

0

您可以使用API​​總是得到SVG的字符串(在IE6 +或任何瀏覽器)。這會有幫助嗎?

+0

yep ..我可以得到SVG,但是SVG +其他數據被組合並放到XML中以便給客戶端,現在如果客戶端在IE6或IE7中打開該文件,那麼它將根本無法呈現SVG內容.so因此,我希望條件檢查是否呈現SVG或VML – 2013-05-02 11:17:10

+0

您無法使用XSLT檢測瀏覽器 - http://stackoverflow.com/questions/13274529/how-to-change-xml-by-browser。但是,您可以使用JavaScript本身進行檢查。我不確定你是如何構建XSLT的。如果您可以分享代碼或縮小代碼,我可以嘗試提供幫助。 – sudipto 2013-05-06 08:57:14

+0

我已經包括上面的例子,所以如果你能幫助我,那將是件好事。 – 2013-05-07 06:47:30