Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 24.03.2015, 23:55
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

laimas,
спасибо за ссылку но видимо моих знаний недостаточно чтоб воспользоваться тем кодом.
Ответить с цитированием
  #12 (permalink)  
Старый 25.03.2015, 00:38
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Так надо чтобы и запрашиваемый сервер эту технологию поддерживал. Запросив по данному адресу jsonp проблем с доступом не будет, но будут проблемы:

SyntaxError: missing ; before statement
{"2186":{"row":{"last":"57,760","ma":"\u041f....


Под Win, значит хватит:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<hta:application applicationname="myapp"
border="thin" borderstyle="normal" caption="yes" icon="icon.ico" scroll="no"
showintaskbar="yes" singleinstance="yes" maximizebutton="yes" contextmenu="yes"
windowstate="maximize" selection="yes" innerborder ="no" />
<meta http-equiv="msthemecompatible" content="no" />
<meta http-equiv="X-UA-Compatible" content="IE=11" />

<script>
function f(d) {
    alert(d)
}
</script>

</head>

<body>
<iframe style="display:none" src="http://tsw.ru.forexprostools.com/api.php?action=refresher&pairs=2186&timeframe=60" name="frame" onload="f(frame.document.body.innerHTML)"></iframe>
</body>
</html>

Сохранить с расширением .hta, вот и весь Ajax. )

Последний раз редактировалось laimas, 25.03.2015 в 01:12.
Ответить с цитированием
  #13 (permalink)  
Старый 25.03.2015, 00:50
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Это пример jsonp с поддержкой сервером:
<!DOCTYPE HTML> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
$(function() {
    $.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?",
        function(data){
          $.each(data.items, function(i,item){
            $("<img/>").attr("src", item.media.m).appendTo("#ims");
            if ( i == 4 ) return false;
          });
        });
});
</script>     
</head> 
<body>
<div id="ims">
</div>
</body>
</html>
Ответить с цитированием
  #14 (permalink)  
Старый 25.03.2015, 00:52
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

laimas,
причину и решение расказал danik.js, ещё во 2 посте других решений видимо нет.
Ответить с цитированием
  #15 (permalink)  
Старый 25.03.2015, 01:01
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

То о чем говорил danik.js, было бы идеальным, но у автора нет сервера, но для того что он хочет ему эти проблемы и не мешают, если он только сам их не захочет. )
Ответить с цитированием
  #16 (permalink)  
Старый 26.03.2015, 11:46
Интересующийся
Отправить личное сообщение для VVi3ard Посмотреть профиль Найти все сообщения от VVi3ard
 
Регистрация: 24.03.2015
Сообщений: 10

В итоге сделал часть скрипта на VBS (исходники гаджета прилагаю)

То чего хотел добился все работает четко.

Возникла новая проблема. хочу теперь выводить текст: из тега "technicalSummary" но он в json кодировке, не могу понять как силами VBS его перевести в обычный текст... (Напомню что я делаю гаджет для win7)

Вот функция на VBS
Function objXML_onreadystatechange()
    If (objXML.readyState = 4) Then
    	'msgbox objXML.statusText
		If (objXML.status = 200) Then
		  s = objXML.responseText
		  
		  StartUSD = InStr(1,s,"summaryLast")
		  USDS = Mid(s,StartUSD+14,6)	
		  StartTime = InStr(StartUSD,s,"time")
		  TimeS = Mid(s,StartTime+18,8)	
		  
		  StartText = InStr(1,s,"technicalSummary")+19
		  
		  EndText = InStr(StartText,s,"""")
		  
		  TextS = Mid(s,StartText,EndText-StartText)	
		  'ResText = json_decode(TextS)

		  
		  document.getElementById("summaryLast").innerHTML = USDS
		  document.getElementById("Time").innerHTML = TimeS
		else 
		  'msgbox objXML.statusText
		  document.getElementById("summaryLast").innerHTML = "" 'убираем индикатор загрузки
		End If
  End If
  
End Function


Нужно тарабарщину из TextS превратить в нормальный текст...
Вложения:
Тип файла: zip forex.gadget.zip (7.8 Кб, 5 просмотров)
Ответить с цитированием
  #17 (permalink)  
Старый 26.03.2015, 12:03
Интересующийся
Отправить личное сообщение для VVi3ard Посмотреть профиль Найти все сообщения от VVi3ard
 
Регистрация: 24.03.2015
Сообщений: 10

Может быть можно как то эту тарабарщину из VBS вывести в HTML и уже там как то при рендеренге страницы заменить на обычный текст с помощью json_decode.
Ответить с цитированием
  #18 (permalink)  
Старый 26.03.2015, 13:30
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

json_decode - это в чем?

JSON в разных средах http://json.org/, и увы в VBS нужно писать парсер, есть на git

PS. А подключить JS-библиотеку json2.js, и не париться?

Последний раз редактировалось laimas, 26.03.2015 в 13:39.
Ответить с цитированием
  #19 (permalink)  
Старый 26.03.2015, 14:14
Интересующийся
Отправить личное сообщение для VVi3ard Посмотреть профиль Найти все сообщения от VVi3ard
 
Регистрация: 24.03.2015
Сообщений: 10

Цитата:
PS. А подключить JS-библиотеку json2.js, и не париться?
Именно это и хочу, только не пойму как ее вызвать из VBS скрипта...
Ответить с цитированием
  #20 (permalink)  
Старый 26.03.2015, 14:34
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

JSON.parse(TextS)

После Mid() у вас должен быть валидный json.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как получить json в onComplete? imedia Элементы интерфейса 2 07.12.2014 20:26
Получить API с другого сайта Sllexa AJAX и COMET 4 08.09.2014 10:24
Получить данные JSON без jQUERY strongest Javascript под браузер 17 19.01.2014 20:07
JSON - отобразить данные таблицы oracle / mssql / mysql ecivgamer Javascript под браузер 3 14.11.2012 18:17
Получить данные через AJAX и отобразить на странице skiller AJAX и COMET 2 17.06.2011 11:09