Я использую Coffeescript и загружаю API Facebook JS асинхронно, как они предлагают в своей документации. Вот так:
#Load the FB api asynchronously
(->
e = document.createElement("script")
e.async = true
e.src = document.location.protocol + "//connect.facebook.net/en_US/all.js"
document.getElementById("fb-root").appendChild e
)()
doSomething = () ->
# I'd like to call this from the FB context
window.fbAsyncInit = ->
FB.init
appId: fb_app_id
status: true
cookie: true
xfbml: true
oauth: true
# Doesn't work. Is out of scope.
doSomething()
С материалом Facebook, прикрепленным к window
, я не могу получить доступ к содержимому в контексте анонимной функции-оболочки Coffeescript.
Я знаю, что могу определить свою функцию как window.doSomething()
, но не уверен, что это лучший способ.
Есть ли способ загрузить содержимое Facebook в контексте анонимной функции-оболочки Coffeescript?