ajax调用后重新加载canvas javascript

时间:2013-04-19 06:39:32

标签: javascript ajax canvas

场景:使用ajax驱动的分页列出的基于画布的投资组合项目。

问题:使用ajax加载下一页内容后,脚本标记不在canvas标记内。

尝试:在canvas标签之前添加脚本标签,这也没有加载(所以加载脚本时肯定是个问题)。

研究:jquery script not working,显然由于安全原因,您无法检索脚本。

可能的替代选择:从canvas标签外部添加画布内容,但是传递动态创建的投资组合标题标签会带来困难!

代码:

    <ul id="products-list">
        <?php
            $i = 0;
            while($the_list->have_posts()): $the_list->the_post(); //wordpress loops through posts
        ?>

        <li  class="product-item<?php echo $i;?>">
            <script>functionForMakingACanvasOverlayUsingThePostTitle("<?php echo get_the_title() ?>");</script>
            <canvas></canvas>
        </li>

        <?php $i++; ?>  

    <?php endwhile; ?>
    </ul>

每页显示6个项目,下一个按钮使用ajax调用接下来的6个项目

连连呢?感谢。

1 个答案:

答案 0 :(得分:1)

myYou无法在不调用最讨厌eval方法的情况下使用AJAX添加javascript代码。在你的情况下,你不需要。你的答案是在一个对象上调用外部javascript,而不是直接调用javascript。你给我们的代码很稀疏,所以下面我的想法纯粹是为了演示目的 - 你需要根据你的实际情况进行翻译:

<canvas><div id="mytitle"></div></canvas>
<script>
    function drawTitleOverlay(title){
        var titleoverlayhtml = buildTitleOverlayHTMLFromTitle(title);
        document.getElementById('mytitle').innerHTML = titleoverlayhtml;
    }

    function nextPage(){
        var data = getAJAXData();
        var title = getTitleFromData(data);
        drawTitleOverlay(title);
    }
</script>