场景:使用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个项目
连连呢?感谢。
答案 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>