2010-07-31 2 views
2

Все остальные браузеры прекрасно работают с этим, но firefox говорит, что «share не является функцией».Firefox говорит, что это не функция. Должна быть простая ошибка, но я не вижу ее

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 

    <script type="text/javascript"> 
    function share(){ 
     var url = "http://www.facebook.com/sharer.php?u=http://google.com"; 
     var win = window.open(url, "share", "status = 1, height = 500, width = 600, resizable = 0"); 
     var pollTimer = window.setInterval(function() { 
      if (win.closed) { 
       window.clearInterval(pollTimer); 
       window.location = "http://gmail.com"; 
      } 
     }, 200); 

    } 
    </script> 

</head> 

<body> 

<div id="sharebox"> 
    <img id="share" src="img/share.png" onclick="share();" /> 
</div> 

</body> 
</html> 
+2

Я протестировал эту функцию в FireFox 3.6.8, и она работает нормально, может быть, какой-то другой код вызывает эту проблему, вы можете отправить весь код – Kronass

+0

Более внимательно изучите ошибку firefox. Он сообщает об ошибке как о строке 1. Что такое тип документа. Что-то не так с ' ' – Pablo

+0

Где вы * вызываете * функцию? – Pointy

ответ

3

Я нашел проблему. Вам не разрешен объект с тем же идентификатором, что и имя функции. Я никогда не знал, что: s

+0

Идентификатор изображения тот же, что и имя функции. поэтому он не работает, хорошо знать об этом в firefox. – Kronass

1

Без дополнительной информации это будет невозможно решить, но вы можете обнаружить, что файл JavaScript этой функции в была ошибка, так что синтаксический останавливается, то эта функция также не будет разобраны, если он после части с ошибкой.

Некоторые браузеры более прощающие, чем другие ошибки.

Если вы используете JSLint (http://jslint.com/), чтобы исправить ошибки, которые он сообщает, это может решить вашу проблему.

В противном случае попробуйте использовать firebug extension, чтобы узнать, где может быть ошибка.