2014-11-12 2 views
0

Возможно ли захватить переменную, созданную на document.ready во время загрузки страницы, и выплюнуть ее в теге литерала или метки при загрузке страницы? Пока я не смог его схватить.JQuery document.ready/asp.net порядок событий

+0

Можете ли вы дать немного больше информации о проблеме? Там может быть лучший способ. – mattytommo

+0

Литература или ярлык - это элементы управления на стороне сервера, которые на клиентской стороне становятся чем-то другим (обычный SPAN). В 'document.ready' - этот SPAN должен быть доступен, и вы должны иметь что-то вроде' $ ('# labelID'). Text (YourVariable) 'прямо здесь –

+0

Сценарий находится на document.ready Я вытягиваю значения из divs и построения строки, мне нужно, чтобы это отображалось в теге скрипта в качестве параметров для google marketing, значения не доступны на стороне сервера, его пользовательский сторонний тег поиска. – chromeOne7

ответ

0

Попробуйте этот

HTML

<body> 
    Here's a string, inside it is the ad client: <span id="ad_client">ca-pub-<PUB_ID_HERE></span>, and the ad slot: <span id="ad_slot"><AD_SLOT_HERE></span> 
</body> 

JS

var ad_client = document.getElementById('ad_client').value; 
var ad_slot = document.getElementById('ad_slot').value; 

// Create the <script> element 
var script = document.createElement('script'); 

    script.src = 'https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js'; 
    script.attributes.async = true; 

document.body.appendChild(script); 

// Create the <ins> element 
var ins = document.createElement('ins'); 

    ins.className = 'adsbygoogle'; 
    ins.style = 'display:inline-block;width:728px;height:90px'; 
    ins.dataset.adClient = ad_client; 
    ins.dataset.adSlot = ad_slot; 

document.body.appendChild(ins); 

setTimeout(function() { 
    (adsbygoogle = window.adsbygoogle || []).push({}); 
}, 250) 

Обратите внимание, что он работал отлично для меня без SetTimeout, но поставить его там в качестве меры предосторожности. Лучше всего сделать это в обратном вызове.

Смежные вопросы