Возникла проблема с Firefox 8 для Mac: window.name не определено - PullRequest
2 голосов
/ 08 января 2012

Я пытался настроить новый API JavaScript Javascript Facebook для своего веб-сайта, но я столкнулся с проблемой с Firefox (прекрасно работает с Chrome и Safari, но еще не полностью протестировал IE, но мне сообщили, что нет вопросы).

Эта проблема указывается в начале файла all.js Facebook, с сообщением «1003» *

window.name is undefined
if(!window.FB)window.FB={_apiKey:null,...return document.getElementById(a);}}; 
all.js (line 3)

Следовательно, любые последующие обращения к SDK с использованием FB. приводит к ошибке с указанием

FB is not defined
[Break On This Error] FB.login(function(response) 

Код, который я использовал:

<div id="fb-root"></div>
<script>
    window.fbAsyncInit = function() {
    FB.init({
    appId      : 'my_app_id', // App ID
    channelURL : 'my_channel_file', // Channel File
    status     : true, // check login status
    cookie     : true, // enable cookies to allow the server to access the session
    oauth      : true, // enable OAuth 2.0
    xfbml      : true  // parse XFBML
    });
    startLoad();

};

    // Load the SDK Asynchronously
    (function(d){
        var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
        js = d.createElement('script'); js.id = id; js.async = true;
        js.src = "//connect.facebook.net/en_US/all.js";
        d.getElementsByTagName('head')[0].appendChild(js);
    }(document));
</script>

Есть какие-нибудь подсказки относительно того, что проблема имеет? А кто-нибудь сталкивался с этой ошибкой раньше?

1 Ответ

3 голосов
/ 09 января 2012

Решено: невероятно, единственной незначительной ошибкой было то, что я использовал глобальную переменную внутри моего JS-файла с именем «name».Это серьезно нет-нет с Facebook SDK (хотя нигде не упоминается).Я нашел причину для ссылки, которую не могу вспомнить, но основная проблема заключается в том, что глобальная переменная имени искажена с помощью window.name, которое требуется API FB.

Я бы просто предложилизбегая глобальной переменной с именем name, используете ли вы Facebook SDK.На всякий случай.

...