Динамическая подгрузка виджета
Добрый день, часы гугления не дали результата, проблема в следующем:
есть виджет, рисующий красивые графики:
<script type="text/javascript" src="https://s3.amazonaws.com/tradingview/tv.js"></script>
<script type="text/javascript">
new TradingView.widget({
"width": 980,
"height": 610,
"symbol": "NASDAQ:AAPL",
"interval": "D",
"timezone": "Etc/UTC",
"theme": "White",
"style": "1",
"locale": "ru",
"toolbar_bg": "#f1f3f6",
"enable_publishing": false,
"hide_top_toolbar": true,
"save_image": false,
"hideideas": true
});
</script>
Кидаю код на отдельную страницу, все работает.
Но надо сделать что-то вроде списка параметров "symbol" (из списка параметров виджета), по клику на которые график бы перерисовывался(виджет обновлялся с новыми параметрами).
Использовал ajax, сам скрипт вызова виджета в страницу загружается, но, видимо, не исполняется - графика нет.
Кидал код вызова на другую страницу, вызывал ее из кода основной страницы - также не помогло.
Я не специалист, подскажите, хотя бы в какую сторону копать.
P.S. Нашел решение, может кому пригодится. Документации к виджету нет, если указать список инструментов, то список будет на виджете, необходимо было сделать табличку с инструментами, а внизу область с графиком, которая будет обновляться по щелчку на инструмент. Решил через iframe. Добавляем код вызова виджета на страничку, обновляем страничку, идем в код страницы, оттуда вытаскиваем ПРЯМУЮ ссылку на график, обернутую в iframe. Эту ссылку и можно использовать при обновлении содержимого Iframe, например так:
function ifrUpdt() {
iframe = document.getElementById('ifr');
iframe.src = "https://dwq4do82y8xi7.cloudfront.net/widgetembed/?symbol=NASDAQ%3AGOOG&interval=D&symboledi t=1&toolbarbg=f1f3f6&studies=&hideidea s=1&theme=White&style=1&timezone=Etc%2 FUTC&showpopupbutton=1&studies_overrides=% 7B%7D&overrides=%7B%7D&enabled_features=%5 B%5D&disabled_features=%5B%5D&showpopupbut ton=1&locale=en&utmsource=ankyr.net&ut mmedium=ankyr.net/personal/dev/page1.html";
document.getElementById('ifr').contentWindow.locat ion.reload(true);
}
Последний раз редактировалось AlexanderK, 15.08.2016 в 17:45.
|