【问题标题】:javascript site welcome loader with an HTML5 element带有 HTML5 元素的 javascript 站点欢迎加载程序
【发布时间】:2012-07-02 19:31:55
【问题描述】:

我有一个奇怪的问题。问题不在于代码的细节,而在于一般方法。

场景:一个网站有一个“欢迎屏幕”。欢迎元素是一个 HTML5 EDGE 动画(它不是一个小文件;))使用客户端检测,我们将检查是否启用了 cookie。如果启用了 cookie,我们会检查 cookie['loader_shown']。如果我们没有看到这个 cookie,我们想用 JS 显示一个全屏覆盖 div 半透明。在这个 div 中,我们然后想使用 AJAX 来加载加载元素 html - 目前这是在一个单独的文件中定义的,当然也引用了 EDGE 文件包中的其他文件...

关于如何最好地解决这个问题的任何建议。重要的是 HTML5 EDGE 元素仅在欢迎检测打开第一个覆盖 div 后才从服务器加载....

哦,EDGE 元素必须保持透明!

【问题讨论】:

  • 大部分情况下使用 jQuery。检查cookie。 stackoverflow.com/questions/2824021/… 让您开始。
  • WTF 是“HTML EDGE”动画?在提出问题以显示您编写的任何代码、您为解决问题所采取的步骤或您已经研究过的事情时,这很有帮助,这样我们就不会走您已经认为不成功的道路。提出这样的一般性问题并不能很好地使用本论坛提供的问答类型格式。
  • @tkone 对不起.. EDGE 示例:s404416203.domenaklienta.pl/html5_intro/005
  • 哦,一个 Adob​​e 产品。嗯,你需要学习如何设置/读取cookies。 The MDN Page on it 很不错。然后根据 cookie,您应该通过调用该 Adob​​e 软件提供的功能来启动您的动画。
  • 是的,我们现在已经找到了方法。我会添加答案....

标签: javascript ajax cookies adobe-edge


【解决方案1】:

解决了。最好的方法是在检查 cookie 后动态加载 js 文件:

cmets 中的来源

    <!DOCTYPE HTML>

<html lang="en">

<head>

<script type="text/javascript">

    var cookiesEnabled = are_cookies_enabled();

    function are_cookies_enabled()                                                                  // http://sveinbjorn.org/cookiecheck
    {
        var cookieEnabled = (navigator.cookieEnabled) ? true : false;

        if (typeof navigator.cookieEnabled == "undefined" && !cookieEnabled)
        { 
            document.cookie="testcookie";

            cookieEnabled = (document.cookie.indexOf("testcookie") != -1) ? true : false;
        }
        return (cookieEnabled);
    }

    // http://www.hunlock.com/blogs/Howto_Dynamically_Insert_Javascript_And_CSS

    if(cookiesEnabled == true)
    {
        var headID = document.getElementsByTagName("head")[0];         

        var newScript = document.createElement('script');

        newScript.type = 'text/javascript';

        newScript.charset = 'utf-8';

        //newScript.onload=scriptLoaded; // If you're loading an external javascript and you need to know when the script has loaded you can simply use .onload=yourfunction; to set up the onload handler. Here's an example. 

        newScript.src = '_loader/head3_C_213_no_preloader_edgePreload.js';

        headID.appendChild(newScript);
    }

</script>

<style>

    .edgeLoad-EDGE-614773 { 
        display:none;  
    }

</style>

</head>

<body style="margin:0;padding:0;">  

<h1>test</h1>
    <div id="Stage" class="EDGE-614773">
    </div>
</body>

</html>

从来没有真正想过 JS 会像那样从脚本中加载自己......哦,可能性!

【讨论】:

    猜你喜欢
    • 2014-01-16
    • 1970-01-01
    • 1970-01-01
    • 2013-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多