Firefox OS特权应用程序上的Flurry分析

时间:2013-11-11 16:13:09

标签: javascript html5 analytics flurry firefox-os

我有一个Firefox OS应用程序,可以调用跨域页面并下载数据显示在应用程序上,所有这些都正常,因为我使用了systemXHR权限并在每个XMLHttpRequest上附加了{mozSystem:true}。

然后我附加了Flurry脚本,在应用程序的.js中调用了FlurryAgent,当我在Firefox OS模拟器上运行它时,开始从Flurry事件日志中的事件中获取信息。当我尝试在Firefox OS设备上安装我的应用程序时,Flurry会话永远不会启动,应用程序永远不会加载。

我不明白为什么Flurry在模拟器上工作而不在设备上工作。我检查了很多次设备上的互联网连接,这对浏览器和已经安装的其他应用程序都很好。在我加入Flurry之前,我的应用程序在设备上运行良好。

以下是我的代码示例:

HTML:

<html>

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <title>My App</title>
    <link rel="stylesheet" href="js/jquery.mobile-1.3.2.min.css" />
    <script src="js/jquery-1.10.2.min.js"></script>
    <script src="js/jquery.mobile-1.3.2.min.js"></script>
    <link rel="stylesheet" href="css/mystyle.css" />
    <script src="https://cdn.flurry.com/js/flurry.js"></script>
    <script src="js/app.js"></script>


</head> 


<body> 

的.js

$(document).on('pagebeforecreate', '[data-role="page"]', function(){    
    if ($(this).attr('id')=="splash"){
        $.mobile.allowCrossDomainPages = true;
    }
});
$(document).on('pageinit', '[data-role="page"]', function(){    
    console && console.log($(this).attr('id') + " - pageinit!!");
    if ($(this).attr('id')=="splash"){
        FlurryAgent.startSession("7ZFX9Z4CVT66KJBVP7CF"); //Here is were it crashes
        alert("Inicio sesion flurry");
        console && console.log($(this).attr('id') + "- Entro al if para el timer");
        var timer = window.setTimeout(next, 10000);
    } 
});

如果还有什么需要帮我弄清楚会发生什么,请告诉我。 我正在使用的设备是Qualcomm型号,特别是Peak并且具有操作系统版本:Boot2Gecko 1.1.1.0hd-GP

1 个答案:

答案 0 :(得分:2)

这可能是CSP问题。看看:https://developer.mozilla.org/en-US/Apps/CSP?redirectlocale=en-US&redirectslug=Apps%2FCSP特别禁止远程脚本。