Контроль порядка выполнения javascript объектов PayPal

У меня есть страница WordPress. У меня есть несколько ссылок, которые идут на PayPalObjects. PayPalObjects требует, чтобы вы поместили код в нижний колонтитул страницы с триггерами к идентификаторам для элементов, которые инициируют покупку. например...

<a id="buysong_4" target="PPDGFrame" title="Click here to buy this  song now.">$</a>

... а затем в нижнем колонтитуле страницы:

<script type="text/javascript">
var embeddedPPFlow1 = new PAYPAL.apps.DGFlow( {trigger : 'buysong_1'});

function MyEmbeddedFlow(embeddedFlow) {
    this.embeddedPPObj = embeddedFlow;
    this.paymentSuccess = function() {
        this.embeddedPPObj.closeFlow();
        window.location.href = "http://whatever.com/success/";
    };
    this.paymentCanceled = function() {
        this.embeddedPPObj.closeFlow();
        top.location.href = "http://whatever.com/fail/";

    };

}
var myEmbeddedPaymentFlow1 = new MyEmbeddedFlow(embeddedPPFlow1);
</script>

Теперь, поскольку у меня есть десятки таких ссылок, я хотел избежать жесткого кодирования этих идентификаторов в контент. например...

<a class="buysong" target="PPDGFrame" title="Click here to buy this song now.">$</a>

Поэтому я добавил следующий jQuery:

jQuery('.buysong').each(function(index, element) {
        jQuery(this).attr('id', 'buysong_' + (index+1) );
   });

Отображаемая страница правильно добавляет атрибут ID к каждой ссылке, НО PayPal js не запускается должным образом. IOW: я должен "жестко" кодировать идентификаторы на странице. Это заставляет меня думать, что jQuery запускает сценарий PayPal.

Итак... как мне "сказать" сценарию PayPalObjects, чтобы он выполнял только после того, как jQuery назначил идентификаторы? ИЛИ... даже если бы я это сделал, все равно это не сработало бы из-за назначения идентификатора атрибута. динамически не надежно для того, что я хочу сделать?

ТИА,

--- JC

0 ответов

Другие вопросы по тегам