我确信这将是如此微不足道,但我已经进行了多次尝试,并且在我部署私有测试之前,我需要配置的最后一件事让我发疯。
这个问题延伸到this question,我的 config.xml 以同样的方式建立,这部分是没有脑子的。我也进入了<head>
:
<script type='text/javascript' src="./js/facebookConnectPlugin.js"></script>
我已经尝试了 ./ facebookConnectPlugin.js 以及 ./ js / facebookConnectPlugin.js ,所以问题的一部分(a)是,我该怎么办?确定没有看到目录的正确相对路径是什么?我找不到要安装的安装位置。
问题的下一部分遵循我从某个地方收到的建议,而不是使用通常的device ready事件,使用 window.onload :
window.onload = onDeviceReady;
...
function onDeviceReady() {
onDeviceReadyFacebook();
...
}
...
function onDeviceReadyFacebook() {
// ?
}
window.fbAsyncInit = function () {
if (!window.cordova) {
// Initialize - only executed when testing in the browser.
facebookConnectPlugin.browserInit(<APP_ID>);
}
}
我在 onDeviceReadyFacebook 的内部和外部尝试了 window.fbAsyncInit ,尝试遵循不同论坛的建议......
所以最后在我登录的调用中发生错误:
function fb_login(){
var login_data = {};
client.cmd = "login";
login_data.userid = user_id;
login_data.cmd = "login";
facebookConnectPlugin.login([
'user_about_me',
'email',
'user_status',
'user_posts',
'user_photos',
'user_videos',
'user_friends'
],function(response) {
// success
...
说facebookConnectPlugin未定义。在稍微修改了不同的区域以及关于应用程序的其他所有内容工作之后,我通常会说我没有为主JS文件指定正确的源URL ...
关于这个主题的最后一个问题:如果我已经正确地输入Content Security Policy,当我可以使用Facebook all.js 时,我是否需要使用插件?它们提供的是浏览器版本中使用的?我已经定义了我的密钥哈希和其他属性来添加android平台,我原以为我可以指定那些属性来匹配平台......
编辑:有问题的插件分支位于here。
更新2: @ JesseMonroy650: 是;一些事情肯定变得更加清晰,但我确实切换到 cordova-plugin-facebookconnect-orlando ,但添加了使构建崩溃,日志文件结果说消息“...- FacebookLib /蚂蚁构建不存在“。我发现确切的问题发生在here,所以我现在尝试了那里使用的相同的npm插件和首选项设置。它现在构建,但我有同样的问题(facebookConnectPlugin未定义)。
然而,我今天早上再次检查repo,特别是路径:
/platforms/android/assets/www/index.html
要了解我至关重要缺失的内容:
<div id="fb-root"></div>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/facebookConnectPlugin.js">/script>
所以希望如果我复制这个例子,我现在应该没问题。今晚将再次尝试。
总是非常感谢任何帮助!
答案 0 :(得分:0)
添加到index.html
的代码终于解决了这个问题。我整理了对登录的实际调用,但最终找不到变量因为我没有完成脚本包含。对要包含的脚本的混淆以及它们将成为什么路径。
BIG 减轻!!!道歉给你@ JesseMonroy650引导我在一个不赞成的插件的正确方向。