首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript可以在FF / IE中运行,但不能在Chrome / Safari中运行

Javascript可以在FF / IE中运行,但不能在Chrome / Safari中运行
EN

Stack Overflow用户
提问于 2009-08-17 00:46:27
回答 3查看 3.3K关注 0票数 0

我正在开发一个Drupal6模块,在该模块中我使用jquery (更具体地说,是$.ajax方法)从Yahoo的feed检索RSS提要。我决定不使用JFeed库,因为我需要访问带有“JFeed”前缀的元素(而我找不到通过JFeed访问它们的方法)。我决定使用$.ajax方法并解析XML响应。下面的JavaScript代码在火狐和IE中运行良好,但在Safari (或Chrome FWIW)中不起作用:

代码语言:javascript
复制
function parseXml(xml) {
  var atmosphere = xml.getElementsByTagName("yweather:atmosphere");

  var humidity = atmosphere[0].getAttribute("humidity");

  $('#weatherFeed').html("Humidity: " + humidity);
  $('#weatherFeed').append(
     "<div style=\"text-align: center;margin-left: auto; margin-right: auto;\">" + 
     city + ", " + state + "</div>");
}

function getData(){
   $.ajax({
      type:   'GET',
      url:    'proxy.php?url=http://weather.yahooapis.com/forecastrss&p=94041',
      dataType: 'xml',
      success:  function(xml) {
      parseXml(xml);
 }
 }); 
}

if(Drupal.jsEnabled) {
$(function() {
      getData();
      setInterval("getData()", 30000);
      });   
}

当我在Safari中检查错误控制台时,我看到以下错误消息:TypeError: Result of expression 'atmosphere[0]' [undefined] is not an object.在Safari中使用getElementsByTagName有问题吗?我应该以不同的方式访问getElementsByTagName返回的对象吗?

EN

回答 3

Stack Overflow用户

发布于 2009-08-17 01:35:06

也许只需将XML视为数据并使用jQuery选择器来提取您想要的内容就可以了。

$(xml).find("yweather:atmosphere").attr("humidity") -你可能需要使用filter而不是find -你觉得呢?

票数 1
EN

Stack Overflow用户

发布于 2009-11-01 04:29:13

我遇到了完全相同的问题,但在这里遇到了答案:http://reference.sitepoint.com/javascript/Document/getElementsByTagName

它与yweather名称空间有关。请改用getElementByTagNameNS函数。

var atmosphere = xml.getElementsByTagName("yweather:atmosphere");

变成了

var atmosphere = xml.getElementsByTagNameNS("http://xml.weather.yahoo.com/ns/rss/1.0","atmosphere");

函数引用:http://reference.sitepoint.com/javascript/Document/getElementsByTagNameNS

票数 1
EN

Stack Overflow用户

发布于 2009-08-17 00:49:11

你有没有尝试过在Chrome和Safari上用atmosphere1代替0?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1285756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档