Javascript 在游戏加载时显示广告

Javascript 在游戏加载时显示广告,javascript,jquery,css,Javascript,Jquery,Css,我环顾了一下互联网,总是像前6个月那样寻找一个脚本,可以在显示实际加载屏幕的同时加载flash内容/游戏,但我总是收到一些答案: 不可能用Javascript显示实际加载 你只能通过在flash文件中添加动作脚本来实现,也许他们在谈论FLA 为什么不显示一个出现的假加载屏幕并显示一些 秒,然后消失(这类屏幕中最烦人的部分 他们首先让用户加载15秒,然后闪存启动 加载,如果它开始加载那15秒,仍然是值得的 有些事情是好的,但让他们等两倍真的很糟糕) 但最后我发现了一些我一直在寻找的东西。一个基于J

我环顾了一下互联网,总是像前6个月那样寻找一个脚本,可以在显示实际加载屏幕的同时加载flash内容/游戏,但我总是收到一些答案:

  • 不可能用Javascript显示实际加载
  • 你只能通过在flash文件中添加动作脚本来实现,也许他们在谈论FLA
  • 为什么不显示一个出现的假加载屏幕并显示一些 秒,然后消失(这类屏幕中最烦人的部分 他们首先让用户加载15秒,然后闪存启动 加载,如果它开始加载那15秒,仍然是值得的 有些事情是好的,但让他们等两倍真的很糟糕)
  • 但最后我发现了一些我一直在寻找的东西。一个基于Jquery的脚本,显示实际加载(也显示广告),并使用swf对象与flash内容对话。它真的很棒,因为它不需要你对FLA进行更改,它只是纯粹的外部环境处理。现在问题来了,那问题是什么。问题是这个脚本是为像素设计的,如果你使用宽度和高度来显示像素,它就可以工作,而我不能使用像素,因为我使用的是%ages(这样用户可以通过按f11键选择全屏显示)

    正如你所看到的,我希望该脚本能与%年龄一起工作,这是我的问题,但正如我之前提到的,我没有马上来到这里,我在过去几个月里已经在超过14个论坛上寻求帮助(实际上是乞讨),当然一些好人仍然存在,一些人帮助我达到某个程度(但这并没有解决问题)现在我将提供一些标记:

    这里是我所说的脚本的链接(它是指向此脚本创建者的链接)

    下面是一个链接到工作示例(基于像素的flash)

    有人在这里帮了我,但一个月前就没用了。那个人告诉我,我应该更改名为Preroll的插件。首选的更改如下

    修改插件以使用用户提供的单位而不是像素。为此,您需要修改插件中的两个函数:applygameiframe和showgame

    applygameiframe should be changed to:
    
    var applygameiframe = function() {
      var gc = '#'+settings.gameframe;
      var iframe = $('<iframe />').attr({
        "id": settings.gameid,
        "src": settings.swf,
        "frameborder": 0,
        "scrolling": "no",
        "marginwidth": 0,
        "marginheight": 0
      }).css({
        "height":'settings.height
        "width": settings.width
      });
      $(gc).append(iframe);
      return true;
    };
    
    showgame should be changed to:
    
    var showgame = function() {
        var ac   = '#' + settings.adframe;
        var game = '#' + settings.gameframe;
        $(ac).hide();
        $(game).css({
        "width": settings.width,
        "height": settings.height
        });
    };
    
    applygameiframe应更改为:
    var applygameiframe=函数(){
    var gc='#'+settings.gameframe;
    变量iframe=$('').attr({
    “id”:settings.gameid,
    “src”:settings.swf,
    “帧边框”:0,
    “滚动”:“否”,
    “marginwidth”:0,
    “边际高度”:0
    }).css({
    “高度”:“settings.height”
    “宽度”:settings.width
    });
    $(gc).append(iframe);
    返回true;
    };
    showgame应更改为:
    var showgame=函数(){
    var ac='#'+settings.adframe;
    var game='#'+settings.gameframe;
    $(ac.hide();
    $(游戏).css({
    “宽度”:settings.width,
    “高度”:设置。高度
    });
    };
    
    一旦进行了这些更改,内联CSS应该设置为您提供的任何参数(即100%、50em等)

    我对Preroll插件做了如上所述的更改,之后我得到了这些更改

    现在,如果你让游戏加载(加载屏幕出现时),一切都做得很好,除了最后,游戏没有出现,它加载,但当它应该跳过,使游戏出现在那个时候出了问题。(为了便于参考,当加载完成后游戏出现时,您可以在此处看到此链接)

    有人能解决这个问题吗

    注意:很抱歉没有提供JSFIDLE,但由于我生活在阿富汗,速度为5KBps,所以我无法使用

    我没有提供构成整个演示页面的HTML、CSS和JS,因为我认为这会让问题变得很长,但如果你认为我应该提供,请在评论中告诉我

    我尽我最大的努力使问题与相关的标记更相关,但如果我遗漏了什么,我会尽我最大的努力编辑它并再次提供给你

    作为一名会计,我尽了最大努力使用程序员的术语,编码是我的激情,但我仍处于学习JS的阶段

    更新:解决问题后,你可以看到现在一切都很好

    信用卡:回答这个问题的人。

    好吧,在你的链接上玩了一个半小时后(我未接触的工作量可以验证这一点),我觉得可以放心地说,全屏功能完全按照我的预期工作。我用的是Chrome18.0.x

    我的经验是:点击链接,游戏加载。加载程序花费了大约2秒的时间来完成,然后出现了“单击此处显示游戏”按钮。之后,一则广告出现了10秒钟,然后我点击“播放”,它直接进入游戏。据我所知,全屏运行正常,但当我离开全屏时,游戏并没有向下调整大小——底部部分被切断


    我知道这并不能回答你的问题,但也许问题只存在于某些浏览器中?

    我发现在FF中,问题似乎在于100%的高度和宽度。我将脚本稍微更改为:

    $(game).css({
    "width": window.innerWidth,
    "height": window.innerHeight
    });
    

    现在游戏在FF中正确显示。

    这似乎只是一个纯粹的css问题。您试图将宽度设置为100%,而
    div.gamewrapper
    的父级没有宽度或高度。这就是为什么大小为0且不会显示的原因

    您需要应用的技巧是在样式中添加以下内容:

    html, body, .gamecontent {
        height: 100%;
        width: 100%;
    }
    
    更新: 另外,删除
    float:left
    .gamecontent.game
    ,并添加1px的宽度和高度,使其成为:

    .gamecontent .game {
        margin:0px auto 0px auto;
        padding:0px;
        overflow:hidden;
        width : 1px;
        height : 1px;
    }
    

    您使用的是什么浏览器和操作系统?您是否在控制台中看到任何javascript错误?+1用于使用5KB进行编程/s@RokoC.Buljan感谢您理解^^@brains911我使用所有浏览器,但仅提及其中一种我喜欢Firefox,我使用的是windows 7,关于错误我没有看到。虽然这种方法有效,您将宽度和高度基本设置为默认值。供给效应