如何在运行时加载PHP数组到javascript变量


how to load php array into javascript variable on runtime

我有一个网站/(手机,应用程序创建与手机差距构建),在这个网站我加载一些数组php到javascript显示一些广告。在网站上它的工作很好,但在移动应用程序(iOS和android)我得到了一个空白的空间。如果我直接在js中填充数组变量,它适用于所有版本的网站web和移动。

问题是我有大约460个不同的广告要展示。我喜欢加载大约20个广告到js当用户开始或加载网站/应用程序在PHP我读mysql数据库和加载这些广告显示较少。显示广告后,ads- counter +1 .(这里没有显示)

我这样做的原因是,因为我没有找到一些东西来盈利我的html5 css3查询web应用程序,编译与电话差距构建。

现在可以有人告诉我或解释我为什么它在web上工作,而不是在应用程序上,或者为什么当我直接在js中填写变量时它都有效??

my PHP works fine -> to js

在js中我有这个:

// werbung
function werbung_fill(){
     id =  new Array;
     comment_start = new Array;
     bannerLinks =  new Array;
     adBanners =  new Array;
     bannerTargets =  new Array;
     dimension =  new Array;
     comment_end =  new Array;
     aktiv =  new Array;
     angezeigt =  new Array;
     lasttime =  new Array;
               $.getJSON('inc/werbung_call.php', function(data) {
         /* data will hold the php array as a javascript object */
     $.each(data, function(key, val) {
     id.push(val.id);                   
     comment_start.push(val.comment_start);
     bannerLinks.push(val.bannerLinks);
     adBanners.push(val.adBanners);
     bannerTargets.push(val.bannerTargets);
     dimension.push(val.dimension);
     comment_end.push(val.comment_end);
     aktiv.push(val.aktiv);
     angezeigt.push(val.angezeigt);
     lasttime.push(val.lasttime);
            });
        });
}
function werbung(){
  var randNum     = Math.floor(Math.random() * (19 - 0 + 1)) + 0; 
  var topAdBanner = $('#topad > a > img');
  var newcomment_start = comment_start[randNum];
  var newBannerImg  = adBanners[randNum];
  var newBannerLink = bannerLinks[randNum];
  var newBannerTarget = bannerTargets[randNum];
  var newdimension = dimension[randNum];
    var newcomment_end = comment_end[randNum];
  // update new img src and link HREF value
    $(topAdBanner).attr('src',newBannerImg);
    $('#topad > a').attr('href',newBannerLink);
    $('#topad > a').attr('target',newBannerTarget);
    $('#topad > a').attr('alt',newdimension);
    var deinTimer = window.setTimeout(werbung, 5000);
    //$('#topad1').html(id[randNum]);
}

$(document).ready(function() { 
// werbungs banner
$('<div id="topad"><a href="" target=""><img src="" width="320" height="50" alt="" border="0"></a></div><!-- @end #topad -->').prependTo( $( "#hauptheader" ) );
// werbung
werbung_fill();
werbung();
// werbung
}
有了这个

,我可以注入一个div而不用再次编译应用程序。(它工作正常)

js, php, index.html在同一个服务器上,编译后的应用程序也使用服务器上的js CSS图像。

你的JavaScript中有一些语法错误。您应该在这里验证JavaScript: http://www.jshint.com/

我怀疑Android没有正确解析:

id =  new Array;

建议使用以下语法:

var id =  [];