【问题标题】:Twitter share button (widget) not working with jquery fadeout function in firefoxTwitter 分享按钮(小部件)不能与 Firefox 中的 jquery 淡出功能一起使用
【发布时间】:2017-01-04 05:10:38
【问题描述】:

我使用的是 firefox 50.1.0,当我添加淡出或淡入 jquery 函数时,twitter 分享按钮不显示。 iframe 正在加载,但按钮未显示。该按钮在除 Firefox 之外的所有浏览器中都能正常工作。 这是我的小提琴https://jsfiddle.net/trvh8r12/

<!DOCTYPE html>
<html >
<head>
    <meta charset="utf-8">
    <meta http-equiv="x-ua-compatible" content="ie=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">

</head>
<body>
    <div class="container" id="form-puzzle">


        <div class="col-md-12 text-align">
                <button class="btn btn-success btn-md btn-margin" type="submit" id="btn-submit">Submit</button>
        </div>
    </div>
    <div class="container" id="message-id">
            <div class="row">
                    <div class="col-md-12 text-center message-color">
                            <h1>Congrats !!!!!....</h1>
                    </div>
                    <div class="col-md-12 text-align" style="display:block !important;">
                                <div class="gap"></div>

                        <a href="https://twitter.com/share" class="twitter-share-button btn-icon" data-text=" "
                     data-show-count="false"><i class="btn-icon"></i></a><script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
                 </div>
            </div>
    </div>
    <script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>

    <script>
            $(document).ready(function(){
                    $('#message-id').hide();
                    $('#btn-submit').click(function(){
                            $('#message-id').fadeIn(2000);
                            $('#form-puzzle').fadeOut(2000);
                    });
            });
    </script>
</body>
</html>

【问题讨论】:

    标签: jquery firefox twitter-widget


    【解决方案1】:

    一般来说,将脚本引用保存在头部而不是正文中。您需要正确包含 jQuery、Bootstrap css 和 Bootstrap js 才能使用它。这可以通过单击获取小部件脚本,然后使用小部件代码扫描 dom 的 div 来执行解决 Firefox 的异步问题。

    <!DOCTYPE html>
    <html>
    
    <head>
        <meta charset="utf-8">
        <meta http-equiv="x-ua-compatible" content="ie=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"> Code Integration Close
        <script src="https://code.jquery.com/jquery-3.1.1.min.js" integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=" crossorigin="anonymous"></script>
        <!-- Latest compiled and minified CSS -->
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
        <!-- Latest compiled and minified JavaScript -->
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
    
        <title>Home</title>
    </head>
    
    <body>
        <div class="container" id="form-puzzle">
    
    
            <div class="col-md-12 text-align">
                <button class="btn btn-success btn-md btn-margin" type="submit" id="btn-submit">Submit</button>
            </div>
        </div>
        <div class="container" id="message-id">
            <div class="row">
                <div class="col-md-12 text-center message-color">
                    <h1>Congrats !!!!!....</h1>
                </div>
                <div class="col-md-12 text-align" style="display:block !important;">
                    <div class="gap"></div>
                    <a href="https://twitter.com/share" class="twitter-share-button" data-show-count="false">Tweet</a>
                </div>
            </div>
        </div>
    
        <script>
            $(document).ready(function() {
                $('#message-id').hide();
                $('#btn-submit').click(function() {
                    $.getScript("https://platform.twitter.com/widgets.js")
                        .done(function() {
                            $('#message-id').show(function() {
                                $('#form-puzzle').fadeOut(2000);
                                twttr.widgets.load(
                                    document.getElementById("#message-id")
                                );
                            });
                        })
                });
            });
        </script>
    
    </body>
    
    </html>

    【讨论】:

    • 您能否详细说明您提供的代码解决了这个问题?
    • @ManojKadolkar 我更新了它来为你做这一切。我刚刚测试了这个。当您点击提交时,Twitter 按钮显示。
    • twttr.widgets.load();如果这个函数在 $('#message-id').hide();在 doc ready 函数中,它将加载,但不会被隐藏。我还在努力。
    猜你喜欢
    • 1970-01-01
    • 2015-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-13
    • 2013-06-05
    相关资源
    最近更新 更多