2015-01-29 3 views
0

Wordpress 사이트에 제 3 자 스크립트를 통합하여 문제가 발생했습니다. 일부 jQuery 메서드를 사용하여 페이지 전체에서 발견 된 일부 값을 전달하고 그 값을 미리 정의 된 타사 개체에 변수로 전달합니다. 내가 직면 한 문제는 표준 jQuery DOM 준비 함수로 jQuery 메서드를 래핑해야하고 타사 개체는 함수의 범위에 포함될 수 없다는 점이다. 그렇지 않으면 실행되지 않을 것이다. 그래서 기본적으로 jQuery DOM 준비 함수에 래핑되지 않고 변수를 전달하는 방법을 찾고 있습니다. 아래는 약간 축소 된 버전의 코드입니다.jQuery DOM 준비 함수를 사용하지 않고 변수를 전달하려고 시도했습니다.

jQuery(function($){ 
     var productname = $(".product-listing").html(); 
     var productprice = $(".product-listing:nth-child(2)").html(); 
     var producqty = $(".product-listing:nth-child(3)").html(); 

     //the third-party object 
     var MasterTmsUdo = { 
      'CJ' : { 
      'CID': '1531715', 
      'TYPE': '375633', 
      'DISCOUNT' : '', 
      'OID': 123, 
      'CURRENCY' : 'USD', 
      'COUPON' : '', 
      'FIRECJ' : 'TRUE', 

     PRODUCTLIST : [ 

     { 'ITEM' : [productname], 
      'AMT' : [productprice], 
      'QTY' : [producqty] 
     } 
     }}; 
    }); 

답변

0
난 당신이 거기에 실제로 아무것도 "통과"하지만 전역 범위에있을 개체를 필요로하는 경우, 당신은 window에 속성에 할당 할 수 있습니다 볼 수 없습니다

:

$(function() { 

    // ... 

    window.MasterTmsUdo = { 

    }; 
}); 

물론 DOM 준비가 실행되기 전에 써드 파티 라이브러리가이 객체를 찾으면 여전히 문제가 될 수 있습니다. 우리는 당신의 제 3 자 도서관이 이것을 넘어 어떤 도움도 제공 할 수있는 방법을 알아야합니다.

+0

답장을 보내 주셔서 감사합니다. 문제를 모두 피하기 위해 jQuery 메서드를 표준 JavaScript로 간단히 처리 할 것입니다. –

관련 문제