如何防止脚本多次运行

时间:2015-05-09 14:08:17

标签: jquery volusion

这是我的程序附加到我的每个订单的代码。我需要它只运行一次。我已尝试过其他类似帖子的提示,但由于某种原因它无法使用我的代码

<script language="javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript" language="javascript">
    jQuery(function (){
        var product_code;
        jQuery('td[width="12%"][align="left"]').before('<td><b>Image</b></td>');    
        jQuery('td[width="7%"][align="right"]').remove();
        jQuery('td[width="8%"][align="right"]').remove();
        jQuery('td[width="12%"][valign="top"]').each(function(){
            product_code = jQuery.trim(jQuery(this).text());
            var product_code_fix = product_code.replace(/\//g, "-fslash-");
            jQuery(this).before('<td width="12%" valign="TOP" bgcolor="#f9f9f9"><img border="0" alt="' + product_code + '" title="' + product_code + '" src="/v/vspfiles/photos/' + product_code_fix + '-0.jpg"></td>');
        });
    });
</script>

1 个答案:

答案 0 :(得分:0)

OP询问的是一个脚本,当管理员打印客户订单时,该脚本会在装箱单上添加产品图像。上面的代码不是为了通过批量打印将图像添加到装箱单而编写的,这就是为什么OP让脚本运行的次数与批量订单一样多。

您只需设置一个简单的标志即可停止此操作。

<script language="javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript" language="javascript">
if (typeof runcheck === 'undefined'){
    var runcheck ='run';
    $(function (){
        var product_code;
        var product_code_fix;
        $('td[width="12%"][align="left"]').before('<td><b>Image</b></td>');
        $('td[width="7%"][align="right"]').remove();
        $('td[width="8%"][align="right"]').remove();
        $('td[width="12%"][valign="top"]').each(function(){
            product_code = $.trim($(this).text());
            product_code_fix = product_code.replace(/\//g, "-fslash-");
            $(this).before('<td width="12%" valign="TOP" bgcolor="#f9f9f9"><img border="0" alt="' + product_code + '" title="' + product_code + '" src="/v/vspfiles/photos/' + product_code_fix + '-0.jpg"></td>');
            $('img').error(function(){$(this).hide();});
        });
    });
}