javascript - for - Se especificó una versión no válida, error de Facebook share plugin
load facebook sdk for javascript (5)
¡Existe (o hubo) un error en el código fuente en el Configurador de botones de Facebook ! página. Si usa el Configurador de Compartir en la página, debería funcionar bien. Sin embargo, hay un ejemplo de código en la página que dice ''Copiar y pegar el ejemplo de código en su sitio web ...'', que es un código incorrecto y hará que el botón no sea visible en su página. La consola javascript mostrará ''Error: la versión no válida especificada''.
Abrí un boleto con Facebook en junio de 2018 con respecto a este tema. Han reconocido que se trata de un problema con el código y prometieron corregir el ejemplo del código, pero a partir del 17 de junio de 2018, el código incorrecto aún está allí en el sitio.
Espero que esto ayude.
Quiero utilizar el plugin de Facebook share para la aplicación web en la que estoy trabajando, solo necesito el botón de compartir básico. La aplicación utiliza requirejs para cargar javascript, así que seguí el procedimiento y cambié la API de Facebook a la que se encuentra en los fragmentos de código en los docs Facebook. Esto no funciona y el sdk arroja la invalid version specified
error invalid version specified
. Así es como se ven mis archivos.
main.js
require.config({
shim: {
''facebookshare'' : {
exports: ''FB''
}
},
paths: {
''facebookshare'': "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.0"
}
});
require([''fb'']);
fb.js
define([''facebookshare''], function(facebook) {
document.body.innerHTML += ''<div class="fb-share-button" data-href="https://developers.facebook.com/docs/plugins/" data-layout="button"></div>'';
});
¿Cuál es la mejor manera de incluir solo el complemento de Facebook share con requirejs?
Remití las siguientes preguntas, pero ninguna de ellas proporciona una solución concreta. Error no detectado: ninguna versión especificada y error de versión incorrecta .
Considere incluir un parámetro de version
a la propiedad src
como se muestra a continuación:
js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.8"
La plantilla predeterminada en el botón Me gusta para Web está incompleta; al hacer clic en el botón "Obtener código", Facebook le generará una plantilla completa con el parámetro de version
incluido.
Jefe menor, tuve que cambiar
js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1
&
version=v2.8";
a
js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1
&
version=v2.8";
Me encontré con este problema cuando estaba cambiando mi archivo de HTTP a HTTPS. El motivo fue la falta de "HTTP:" o "HTTPS:" específicos en el siguiente código:
<div class="fb-comments" data-width="100%" data-href="//amazingjokes.com/image/2017-03-17/A_good_sign_for_St__Patricks_day" data-num-posts="5"
data-colorscheme="light">
</div>
Normalmente, ''//domain.com'' copia el esquema en el que estamos, de modo que cuando esté en htts: //example.com, un enlace a ''//example2.com'' se verá como '' https: // example2. com ''. Para los ''fb-comments'', deberá especificar específicamente HTTP o HTTPS para el href de datos.
También tenga en cuenta que '' https://example.com '' de acuerdo con Facebook es otra página que '' http://ejemplo.com ''. Entonces, si actualiza su sitio para SSL, perderá todos los comentarios anteriores si cambia la URL en los complementos sociales de HTTP a HTTPS ... La solución que elegí fue usar HTTP para todas las publicaciones anteriores, y HTTPS para todo lo reciente.
También recibí el siguiente error incluso cuando uso el código de inserción estándar que proporciona Facebook .
Error no detectado : versión no válida especificada en sdk.js
Lo primero que debe verificar es que está incluyendo el número de versión en su llamada FB.init
:
FB.init({
appId: ''your-app-id'',
xfbml: true,
version: ''v2.8''
});
La solución ahora desactualizada ...
... era hacer un simple tweak y cambiar el camino:
From: //connect.facebook.net/en_GB/sdk.js
To: //connect.facebook.net/en_GB/all.js
Y esto solucionó el error. Lamentablemente, no tengo idea de por qué. :-(