0 0

XMLHttpRequest分析XML文档在Firefox显示不了5

执行cdSelect.html后在IE中正常,但firefox中没有显示,为什么呢?

基本页面cdSelect.html:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="select.js"></script>
</head>

<body>












onmouseout="this.style.backgroundColor='#ffccee'">
Bob Dylan
onmouseout="this.style.backgroundColor='#ffccee'">
Bonnie Tyler
onmouseout="this.style.backgroundColor='#ffccee'">
Dolly Parton

ffffff



</body>
</html>

 

javascript代码:

var XmlHttp;
function createXmlHttpRequest(){
    try{
        XmlHttp=new XMLHttpRequest();
    }catch(e){
        try{
            XmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }catch(e){
            alert("你的浏览器不支持XMLHttpRequest");
            return;
        }
    }
}

function doRequest(str){
    createXmlHttpRequest();
    var url = "getcd.jsp";
    url = url + "?q="+str;
    url = url + "&id="+Math.random();
    XmlHttp.onreadystatechange = stateChanged;
    XmlHttp.open("GET",url,true);
    XmlHttp.send(null);
}

function stateChanged(){
    if(XmlHttp.readyState == 4){
        document.getElementById("txtHint").innerHTML = XmlHttp.responseText;
    }
}
 

JSP分析xml并返回内容:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="org.dom4j.io.*,java.io.*,org.dom4j.*,java.util.*"%>
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
      <%
      String xmlPath = request.getRealPath("cd.xml");
      Document doc = new SAXReader().read(new File(xmlPath));
      String param = request.getParameter("q");
      Iterator nodes = doc.selectNodes("catalog/cd[artist='"+param+"']").iterator();
      while(nodes.hasNext()){
        Element e = (Element)nodes.next();
        Iterator eChilds = e.elementIterator();
        while(eChilds.hasNext()){
          Element eChild = (Element)eChilds.next();
          out.println(""+eChild.getName()+"");
          out.println(""+eChild.getText()+"");
          out.println("
");
        }
        out.println("---------------------
");
      }
      %>
    </body>
</html>

xml文件:

<!---->
<catalog>
 <cd>
  <title>Empire Burlesque</title>
  <artist>Bob Dylan</artist>
  <country>USA</country>
  <company>Columbia</company>
  <price>10.90</price>
  <year>1985</year>
  </cd>
 <cd>
  <title>Hide your heart</title>
  <artist>Bonnie Tyler</artist>
  <country>UK</country>
  <company>CBS Records</company>
  <price>9.90</price>
  <year>1988</year>
  </cd>
 <cd>
  <title>Greatest Hits</title>
  <artist>Dolly Parton</artist>
  <country>USA</country>
  <company>RCA</company>
  <price>9.90</price>
  <year>1982</year>
  </cd>
 <cd>
  <title>Still got the blues</title>
  <artist>Gary Moore</artist>
  <country>UK</country>
  <company>Virgin records</company>
  <price>10.20</price>
  <year>1990</year>
  </cd>
 <cd>
  <title>Eros</title>
  <artist>Eros Ramazzotti</artist>
  <country>EU</country>
  <company>BMG</company>
  <price>9.90</price>
  <year>1997</year>
  </cd>
 <cd>
  <title>One night only</title>
  <artist>Bee Gees</artist>
  <country>UK</country>
  <company>Polydor</company>
  <price>10.90</price>
  <year>1998</year>
  </cd>
 <cd>
  <title>Sylvias Mother</title>
  <artist>Dr.Hook</artist>
  <country>UK</country>
  <company>CBS</company>
  <price>8.10</price>
  <year>1973</year>
  </cd>
 <cd>
  <title>Maggie May</title>
  <artist>Rod Stewart</artist>
  <country>UK</country>
  <company>Pickwick</company>
  <price>8.50</price>
  <year>1990</year>
  </cd>
 <cd>
  <title>Romanza</title>
  <artist>Andrea Bocelli</artist>
  <country>EU</country>
  <company>Polydor</company>
  <price>10.80</price>
  <year>1996</year>
  </cd>
 <cd>
  <title>When a man loves a woman</title>
  <artist>Percy Sledge</artist>
  <country>USA</country>
  <company>Atlantic</company>
  <price>8.70</price>
  <year>1987</year>
  </cd>
 <cd>
  <title>Black angel</title>
  <artist>Savage Rose</artist>
  <country>EU</country>
  <company>Mega</company>
  <price>10.90</price>
  <year>1995</year>
  </cd>
 <cd>
  <title>1999 Grammy Nominees</title>
  <artist>Many</artist>
  <country>USA</country>
  <company>Grammy</company>
  <price>10.20</price>
  <year>1999</year>
  </cd>
 <cd>
  <title>For the good times</title>
  <artist>Kenny Rogers</artist>
  <country>UK</country>
  <company>Mucik Master</company>
  <price>8.70</price>
  <year>1995</year>
  </cd>
 <cd>
  <title>Big Willie style</title>
  <artist>Will Smith</artist>
  <country>USA</country>
  <company>Columbia</company>
  <price>9.90</price>
  <year>1997</year>
  </cd>
 <cd>
  <title>Tupelo Honey</title>
  <artist>Van Morrison</artist>
  <country>UK</country>
  <company>Polydor</company>
  <price>8.20</price>
  <year>1971</year>
  </cd>
 <cd>
  <title>Soulsville</title>
  <artist>Jorn Hoel</artist>
  <country>Norway</country>
  <company>WEA</company>
  <price>7.90</price>
  <year>1996</year>
  </cd>
 <cd>
  <title>The very best of</title>
  <artist>Cat Stevens</artist>
  <country>UK</country>
  <company>Island</company>
  <price>8.90</price>
  <year>1990</year>
  </cd>
 <cd>
  <title>Stop</title>
  <artist>Sam Brown</artist>
  <country>UK</country>
  <company>A and M</company>
  <price>8.90</price>
  <year>1988</year>
  </cd>
 <cd>
  <title>Bridge of Spies</title>
  <artist>T`Pau</artist>
  <country>UK</country>
  <company>Siren</company>
  <price>7.90</price>
  <year>1987</year>
  </cd>
</catalog>

2008年8月22日 16:43

1个答案 按时间排序 按投票排序

0 0

采纳的答案

是这样的,value不是td的标准属性,在IE可以通过this.value得到正确的值,但是在firefox中this.value得到的值是undefined。所以,最好这样做

<td value="Bob Dylan" onmouseover="doRequest('Bob Dylan');this.style.backgroundColor='#eeffee'" 
onmouseout="this.style.backgroundColor='#ffccee'"> 


就可以了

2008年8月23日 20:42

相关推荐

    FireFox下用XML DOM解析XML文档(ASP.NET Web)

    当需要在Firefox浏览器环境下处理XML文档时,开发者通常会使用XML DOM(Document Object Model)来解析和操作XML。本文将详细讲解如何在Firefox下利用XML DOM解析XML文档。 首先,理解XML DOM的概念是至关重要的。...

    XML应用开发(软件品牌)-1期 6.2 案例分析-加载XML文档.doc

    在非IE浏览器(如Firefox、Mozilla、Opera等)中,可以使用`XMLHttpRequest`对象来获取XML文档,然后通过`responseXML`属性获取DOM对象。例如: ```javascript var xmlhttp; if (window.XMLHttpRequest) { // code ...

    JS操作XML文件,兼容火狐、IE

    例如,IE支持的`selectNodes()`和`selectSingleNode()`方法在Firefox中不可用。在这种情况下,你可以使用`getElementsByTagName()`和`querySelector()`/`querySelectorAll()`作为替代。 6. `show.js`中的实现 文件`...

    Ajax读取xml数据类型例子

    在这个例子中,我们将探讨如何使用AJAX来读取XML数据,特别关注在Chrome和Firefox浏览器中的实现。 XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,具有良好的结构和可读性。在JavaScript...

    js读取xml文件并获取文件内容

    - 一旦XML文档加载完毕,可以通过DOM API(Document Object Model Application Programming Interface)访问和操作XML文档中的元素。 ```javascript document.getElementById("to").innerHTML = xmlDoc....

    兼容Firefox的Javascript XSLT 处理XML文件

    标题所提及的"兼容Firefox的Javascript XSLT处理XML文件"问题,主要是由于Firefox不支持IE中的ActiveXObject,因此需要使用不同的方法来实现XML和XSLT的转换。描述中提到了两种在Firefox中处理XML的主要方法,即`...

    js-xml.rar_javascript_javascript xml_js xml_js解析xml_xml js

    在一些旧的浏览器环境中,如Firefox,支持E4X,这是一种将XML集成到JavaScript语法中的尝试。它允许直接在JavaScript代码中嵌入XML,但现代浏览器已经不再支持此特性。 7. jQuery和XML: jQuery库简化了...

    解析xml,ajax

    但需要注意,E4X不是所有浏览器都支持,主要在Firefox中使用。 3. Ajax中的数据交换: - 使用XML:在早期的Ajax应用中,XML常作为数据交换格式,可以通过XMLHttpRequest的responseXML属性获取XML数据,然后使用DOM...

    Mozilla Firefox 支持数据岛

    在【标题】"Mozilla Firefox 支持数据岛"中提到的,Firefox浏览器已经实现了对数据岛的支持,这意味着开发者可以利用这一特性在Firefox上创建更丰富、更动态的网页内容。 【描述】中提到了"让其他浏览器支持数据岛...

    DOM文档和Javascript的IE和Firefox兼容性

    本文将深入探讨DOM文档在不同浏览器,特别是IE(Internet Explorer)和Firefox之间的差异,并结合JavaScript的常见操作来阐述如何处理这些兼容性问题。 首先,DOM是一种标准,它提供了一种统一的方式来表示和操作...

    js 操作页面加载xml

    总的来说,JS操作XML涉及的主要知识点有:XMLHttpRequest的使用、XML文档的解析、DOM操作以及元素的动态创建和插入。这些技能对于网页开发人员来说是至关重要的,尤其是当需要处理服务器返回的结构化数据或构建动态...

    javascript xml操作函数

    3. **其他浏览器**:如果既不支持 `DOMParser` 也不支持 `ActiveXObject`,则通过构造一个包含XML数据的特殊URL来使用 `XMLHttpRequest` 获取XML文档。 #### 八、总结 通过以上介绍,我们可以看到这个JavaScript ...

    XML概述及与ASP

    随着浏览器技术的发展,现代浏览器如Mozilla Firefox等都支持XMLHttpRequest对象,这使得客户端也可以直接处理XML数据。 #### XML与数据库的关系 XML作为一种数据交换格式,与数据库有着密切的联系。在某些情况下...

    JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐)

    - 示例中提到了IE和火狐(Firefox)浏览器,这意味着代码在编写时需要考虑到不同浏览器对XMLHttpRequest对象的实现可能不同,因此需要进行相应的适配。 具体实现步骤如下: - 定义一个函数loadXMLDoc,它负责读取...

    JS节日倒计时器(兼容Firefox/IE)

    在这个“JS节日倒计时器”项目中,开发者利用JS实现了一个功能,可以显示到特定节日的倒计时,同时兼容Firefox和Internet Explorer(IE)两种浏览器。这种跨浏览器的兼容性对于提升用户体验至关重要,因为不同的用户...

    在Firefox中通过AJAX跨域访问Web资源

    标题中的“在Firefox中通过AJAX跨域访问Web资源”是指使用Asynchronous JavaScript and XML (AJAX)技术在Mozilla Firefox浏览器中实现跨域数据请求。跨域是由于浏览器的同源策略(Same-origin policy)限制,它阻止...

    JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐) .zip

    而JavaScript作为一种客户端脚本语言,可以在浏览器环境中解析和操作XML文档。 1. **创建XMLHttpRequest对象**: 在JavaScript中,我们通常使用`XMLHttpRequest`对象来异步加载XML文件。这个对象允许我们在不刷新...

    Javascript(AJAX)解析XML的代码(兼容FIREFOX/IE)

    在这个例子中,我们将探讨如何使用JavaScript通过AJAX技术解析XML文档,同时兼容Firefox和Internet Explorer(IE)这两种不同的浏览器。 首先,我们需要创建一个函数`getResult`,它接收两个参数:一个是XML数据的...

    JS读取XML例子(兼容IE和FF).rar

    这个"JS读取XML例子(兼容IE和FF).rar"压缩包包含了一个示例,展示了如何在不依赖任何插件的情况下,使用JavaScript在Internet Explorer(IE)和Firefox(FF)等浏览器中读取XML文件。下面我们将详细探讨JavaScript...

Global site tag (gtag.js) - Google Analytics