-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.js
33 lines (28 loc) · 854 Bytes
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
export default function loadFacebookSDK (opts = {}) {
const id = 'facebook-jssdk'
return new Promise(resolve => {
if (document.getElementById(id)) {
return resolve(window.FB)
}
const {
lang = 'en_US',
debug = false,
sdkModule = ''
} = opts
opts.version = opts.version || 'v2.11'
delete opts.lang
delete opts.debug
window.fbAsyncInit = () => {
window.FB.init(opts)
resolve(window.FB)
}
const fjs = document.getElementsByTagName('script')[0]
const js = document.createElement('script')
js.id = id
const slash = sdkModule ? '/' : ''
const srcPrefix = `https://connect.facebook.net/${lang}/sdk${slash}`
const srcSuffix = `${debug ? `${sdkModule}/debug` : sdkModule}.js`
js.src = srcPrefix + srcSuffix
fjs.parentNode.insertBefore(js, fjs)
})
}