2011-05-11 33 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