2016-06-08 10 views
0

나는 제품 이미지가 exsists 있는지 확인하는 scene7하는 요청을 한의 JSONP이 반환이 사이트는 모든 제품에 대한 템플릿을로드JSONP 이미지 요청이 루핑되지 않습니까? 그것은 않는 경우

/*jsonp*/checkS7SubProductImageExists({"catalogRecord.exists":"1"},""); 

이 코드는 모든 제품이, 스크립트가 반복 되더라도 페이지의 모든 제품이 아니라 마지막 제품에서만 작동합니다. 어떤 아이디어?

<script> 
    dojo.io.script.get({ 
     url: '${scene7Path}${skuDetails.partNumber}?req=exists,json&handler=checkS7SubProductImageExists', 
     error: function(error){ 
      console.debug("Problem retrieving the ImageSet"); 
     } 
    }); 

    function checkS7SubProductImageExists(results) { 
     var output_${skuDetails.partNumber} = document.getElementById("item_image_${skuDetails.partNumber}"); 
     if (results['catalogRecord.exists'] == 1) { 
      var img = '<img src="${env_schemeToUse}://site.scene7.com/is/image/Site/${skuDetails.partNumber}?fmt=png&op_usm=1,1,1,0&id=ZeUq72&fmt=jpg&fit=constrain,1&wid=300&hei=300&fmt=png&op_usm=1,1,1,0">'; 
     } 
     output_${skuDetails.partNumber}.innerHTML = img; 
    } 
</script> 

<div class="item_image"> 
    <a onClick="showItemDialog(${skuDetails.uniqueID}, '${skuDetails.partNumber}', '${iconi_promo_val}', '${iconi_left_val}', '${brand_logo_val}', '${pack_size_val}');return false;" href="#"> 
     <div id="item_image_${skuDetails.partNumber}"> 
     </div> 
    </a> 
</div> 

답변

1

당신이 반복 이상 귀하의 질문에 코드 공유의 장을 복사 이해 무엇인지 명확하지만,에서가 아닙니다.
이것이 맞으면 이름 충돌이 있습니다. checkS7SubProductImageExists입니다. 다시 정의하면 되겠지만 하나만 존재할 수 있습니다. 마지막 하나 ...

다음과 같이 시도해보십시오.
참고 :이 코드는 매우 추한 코드 조각입니다.

<script> 
var functionHandlerName = 'checkS7SubProductImageExists${skuDetails.partNumber}'; 

dojo.io.script.get({ 
    url: '${scene7Path}${skuDetails.partNumber}?req=exists,json&handler=' + functionHandlerName, 
    error: function(error){ 
     console.debug("Problem retrieving the ImageSet"); 
    } 
}); 

window[functionHandlerName] = function(results) { 
    var output_${skuDetails.partNumber} = document.getElementById("item_image_${skuDetails.partNumber}"); 
    if (results['catalogRecord.exists'] == 1) { 
     var img = '<img src="${env_schemeToUse}://site.scene7.com/is/image/Site/${skuDetails.partNumber}?fmt=png&op_usm=1,1,1,0&id=ZeUq72&fmt=jpg&fit=constrain,1&wid=300&hei=300&fmt=png&op_usm=1,1,1,0">'; 
    } 
    output_${skuDetails.partNumber}.innerHTML = img; 
} 
</script> 

<div class="item_image"> 
    <a onClick="showItemDialog(${skuDetails.uniqueID},  '${skuDetails.partNumber}', '${iconi_promo_val}', '${iconi_left_val}',  '${brand_logo_val}', '${pack_size_val}');return false;" href="#"> 
     <div id="item_image_${skuDetails.partNumber}"> 
     </div> 
    </a> 
</div> 
+0

완벽하게 작동했습니다. 도와 주셔서 감사합니다. –