jQuery Sortable无法使用twitter嵌入式推文

时间:2015-07-03 09:13:28

标签: javascript jquery html twitter jquery-ui-sortable

我在jQuery Sortable的帮助下对div进行排序。这是完美的工作, 但是当我拖动div(其中包含tweets的嵌入内容)并放在任何位置时,它会从DOM中删除,实际上是在删除tweets block iframe之后删除来自控制台。

这是我的脚本

<script>
    $(function () {
    $("#sortable").sortable({
        update: function (event, ui) {

                $('.storymode').each(function () {
                //get the order of div after sort
                var order = $(this).sortable("toArray", {attribute: 'rowdropid'}).toString();

                        $.ajax({
                        // ajax request  for saving sortable div in DB
                            ....
                            ....
                        });
                });
                },
    });
    });
</script>

HTML代码

    <div id="sortable">
<div>
            <blockquote class="twitter-tweet" align="center"><a href="https://twitter.com/CrazyDogTShirts/status/611263713673392128"></a></blockquote>
        </div>
</div>

针对Twitter的脚本

    !function (d, s, id) {
        var js, fjs = d.getElementsByTagName(s)[0], p = /^http:/.test(d.location) ? 'http' : 'https';
        if (!d.getElementById(id)) {
            js = d.createElement(s);
            js.id = id;
            js.src = p + '//platform.twitter.com/widgets.js';
            fjs.parentNode.insertBefore(js, fjs);
        }
    }(document, 'script', 'twitter-wjs');

</script> 

请参阅此处的演示示例http://dothejob.in/tw.php

请告诉我如何排序或拖放iframe内容的正确方法

2 个答案:

答案 0 :(得分:0)

您的嵌入式推文位于iframe内。您无法应用任何样式或将任何javascript添加到嵌入代码中的任何内容。这意味着您无法对推文进行排序。

如果你仍然想要实现这一目标,你必须找到一种方法将你的推文嵌入你的网页,而不是iframe。不是自己在Twitter上,但可能是API或不同的嵌入方法?

答案 1 :(得分:0)

根据您的需求,一种可能可行的方法是删除/创建而不是移动。您可以使用我们的工厂函数动态创建时间轴小部件。

来自Twitter开发者论坛的更多信息: https://twittercommunity.com/t/twitter-widget-break-when-moved-with-jquery/65839