什么可能导致这个Firebug错误?

时间:2012-02-03 11:38:57

标签: javascript jquery flash

我有这段代码:

<script>                                                                                                                                                                                                                                                                    
  function cargar(url){
    var iframe = $('<iframe>');
    iframe.attr('src', url);
    $('#screen').html(iframe);
  }   
  $(document).ready(function(){
    $('ul li a').click(function(e){
      e.preventDefault();
      cargar($(this).attr('href'));
      $('ul li a').removeClass('active');
      $(this).addClass('active');
    }); 
    $('ul li a').first().click();
  }); 
</script>

生成iframe(包含带有JavaScript和Flash的全景查看器)并将其插入div。

事情就是这个代码,在本地,Firebug跳转:

Elemento referenciado por ID/NAME en el ámbito global. Use el estándar del W3C document.getElementById() en su lugar.

google tranlated

Element referenced by ID / NAME in global scope. Use the W3C standard document.getElementById () instead.

在线它不会跳过任何错误或警告,但脚本无法正常工作:http://toniweb.us/m/panorama/panorama.html(控件丢失且自动播放未开启)

问题是我不知道如何向你们展示当地的版本,所以我只提供.zip以防万一有人愿意看看:http://toniweb.us/m/panorama/panorama.zip

我真的会对此有任何想法,我的想法已经不多了,我应该这么做了...... :(

1 个答案:

答案 0 :(得分:1)

Element referenced by ID / NAME in global scope此消息与对DOM元素的引用相关(在您的情况下)为ptviewer而不是document.getElementById('ptviewer')。这些调用是从Java applet进行的(阅读Java和Javascript之间的交互)。

但是为了摆脱这些消息你需要做的就是(我反编译ptviewer.class)是打开ptdefault.html文件并替换一个字符串

{inits=javascript:loaded = true,ptviewer.startAutoPan(0.3,0,1) }

{inits=javascript:loaded = true,document.getElementById('ptviewer').startAutoPan(0.3,0,1) }