三星浏览器未加载facebook javascript sdk
我正在用React做一个应用,facebook登录在Chrome、Safari和其他浏览器上工作,但它不在三星浏览器上。我尝试过在三星浏览器未加载facebook javascript sdk,javascript,reactjs,facebook-javascript-sdk,samsung-galaxy,samsung-browser,Javascript,Reactjs,Facebook Javascript Sdk,Samsung Galaxy,Samsung Browser,我正在用React做一个应用,facebook登录在Chrome、Safari和其他浏览器上工作,但它不在三星浏览器上。我尝试过在window.fbasyninit中设置断点来调试代码,但该函数从未在Samsung浏览器上执行过(它在其他浏览器中执行)。我还检查了脚本元素#facebook jssdk是否被添加到DOM中。同时,开发工具的网络选项卡显示没有任何连接到connect.facebook.net/es_es/sdk.js的请求 componentDidMount() { i
window.fbasyninit
中设置断点来调试代码,但该函数从未在Samsung浏览器上执行过(它在其他浏览器中执行)。我还检查了脚本元素#facebook jssdk
是否被添加到DOM中。同时,开发工具的网络选项卡显示没有任何连接到connect.facebook.net/es_es/sdk.js
的请求
componentDidMount() {
if (!process.env.REACT_APP_FB_APP_ID) {
throw new Error(
'Facebook appId not found. Set the environment variable REACT_APP_FB_APP_ID with your appId'
);
}
if (!process.env.REACT_APP_GTM_ID) {
throw new Error(
'Google Tag Manager id not found. Set the environment variable REACT_APP_GTM_ID with your GTM id'
);
}
window.fbAsyncInit = () => {
console.log('init facebook init');
// $FlowFixMe
FB.init({
appId: process.env.REACT_APP_FB_APP_ID,
autoLogAppEvents: true,
xfbml: true,
version: 'v2.11'
});
window.FB.AppEvents.logEvent('started app');
};
(function(d, s, id) {
const element = d.getElementsByTagName(s)[0];
let fjs = element;
let js = element;
if (d.getElementById(id)) {
return;
}
js = d.createElement(s);
js.id = id;
js.src = '//connect.facebook.net/es_ES/sdk.js';
// $FlowFixMe
fjs.parentNode.insertBefore(js, fjs);
})(document, 'script', 'facebook-jssdk');
}
我认为它应该是对XSS脚本或类似的东西的任何保护,或者可能只是内置的三星adblock?。我试图更改
js.src
协议,添加了https:
和http:
,但似乎没有任何变化。三星互联网没有内置广告拦截器(它有一个跟踪拦截器,默认情况下可以在保密模式下启用,扩展可以启用)。是否存在JavaScript错误?()您使用的是什么版本的三星互联网?有可能共享一个测试用例吗?嗨@poshaughnessy,我正在使用三星互联网6.2.01.12的Galaxy S8,没有JavaScript错误。下面是测试用例。谢谢,我尝试了这个测试用例,得到了与桌面上Firefox(v57)相同的错误。这也是你得到的吗?这有助于缩小范围吗@是的,这就是我得到的。我不知道这也发生在Firefox中。Firefox在启用跟踪保护时会阻止JSSDK(这是默认的AFAIK)