2011-05-11 70 views
2

我想在一個iframe中顯示一個XML文件。 它在Firefox和ie中正常工作,但在Chrome中將xml顯示爲文本。谷歌瀏覽器 - 通過超鏈接打開一個XML文件顯示爲普通文本的XML文件

所以我想檢查這是否是一個普遍問題。 例如: 如果我使用位於http://www.w3schools.com/xml/xml_examples.aspView an XML food menu鏈接,那麼我將xml顯示爲文本文件。

如果我右鍵單擊鏈接並選擇在新選項卡中打開它將顯示它應該的xml。 或者如果我打開一個新的選項卡,並把網址http://www.w3schools.com/xml/simple.xml它顯示該文件作爲一個XML文件。

如果您按下鼠標右鍵並選擇「在新選項卡中打開」,它將顯示它應該顯示的xml。

我認爲不管是什麼原因導致這個問題導致我面臨的問題。 所以我的問題是:

  1. 這是什麼原因造成的?
  2. 有沒有辦法解決這個問題?
  3. 這是一個在鉻中的錯誤?

謝謝。

Chrome版本爲11.0.696.65

操作系統:Windows XP,我也有這個檢查在Windows 7

+0

更新了我的答案,那錯誤是在谷歌瀏覽12 – 2011-06-04 00:07:37

+1

在原來的問題_xml文件內的iframe_仍然存在提到的問題就迎刃而解了。剛剛在4天前發佈的Google Chrome 26.0.1403.0 for Linux版中進行了測試 – 2013-02-08 16:18:02

回答

1

對我來說這是絕對是 Google Chrome bug。嘗試使用右鍵單擊該鏈接並選擇「在新選項卡中打開鏈接」或「在新窗口中打開鏈接」以查看漂亮的打印XML。

enter image description here

有錨元素中target="_blank"屬性,這會導致這個問題:

<a target="_blank" href="simple.xml">View an XML food menu</a> 

看看另一個網站http://www.xmlfiles.com/examples/。沒有target="_blank"和鏈接運作良好。

您可以使用檢查元素→編輯爲HTML選項來刪除該屬性target="_blank",之後XML也打印得很好。

enter image description here

最後我發現鉻Issue 84128(報道26/5/2011,版11.0.696.71)爲。

您不需要添加任何明確的XSLT樣式表。這根本就不是這種情況。如果沒有應用樣式表,則瀏覽器將隱式使用其內置的默認變體。

編輯:

我下載谷歌瀏覽器測試版12(版本12.0.742.77的β-M)的β-m和這裏這個錯誤解決

Comment 93 by project member [email protected], May 3, 2011 
The target="_blank" problem is already fixed in Chrome 12. 

(從http://code.google.com/p/chromium/issues/detail?id=434

1

我認爲問題是,XML不引用樣式表。 xml引用樣式表的其他鏈接在第一次打開罰款。也許添加一個最小的樣式表可以解決你的問題?

0

據我所知,沒有瀏覽器的bug。 Chrome僅適用於XML文檔。

爲了解決這個問題,添加一個樣式表到你的XML文件,像這樣

<?xml-stylesheet type="text/css" href="/Styles/olg_rss.css" ?> 

應該版本+編碼

<?xml version="1.0" encoding="ISO-8859-1" ?> 

後出現,這是一個stylesheet我創建。

rss {font-family:Arial, Helvetica, sans-serif;} 

channel title {display:block; 
    padding:1em; color:#FFF; border-bottom:1px solid black; 
    font-weight:bold; 
    font-size:140%; background-color:#4483C7;} 

channel description {display:block; float:left; 
    font-size:130%; margin:1em;} 

channel item {border:1px solid #4483c7;clear:both; 
    display:block; padding:0.5em; margin:1em;} 

channel item title {background-color:#4483c7; 
    border-bottom-width:0; color:#FFF; display:block; 
    font-size:110%; font-weight:bold; margin:0; padding:0.2em;} 

channel item description {display: block; float:none; 
    margin:0; text-align: left; padding:0.2em 0.5em 0.4em; 
    color: black; font-size:100%; font-weight:normal;} 

channel item link {color:#666; display:block; font-size:86%; 
    padding:0 0.5em;} 
+0

如果它沒有應用任何styleshit如何解釋一個事實,即如果您打開一個新選項卡並右鍵單擊顯示的xml(應該是它的樣式) – yossi 2011-06-03 10:06:56