laimas,
спасибо за ссылку но видимо моих знаний недостаточно чтоб воспользоваться тем кодом. |
Так надо чтобы и запрашиваемый сервер эту технологию поддерживал. Запросив по данному адресу 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. ) |
Это пример 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>
|
laimas,
причину и решение расказал danik.js, ещё во 2 посте других решений видимо нет. |
То о чем говорил danik.js, было бы идеальным, но у автора нет сервера, но для того что он хочет ему эти проблемы и не мешают, если он только сам их не захочет. )
|
Вложений: 1
В итоге сделал часть скрипта на 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 превратить в нормальный текст... |
Может быть можно как то эту тарабарщину из VBS вывести в HTML и уже там как то при рендеренге страницы заменить на обычный текст с помощью json_decode.
|
json_decode - это в чем?
JSON в разных средах http://json.org/, и увы в VBS нужно писать парсер, есть на git PS. А подключить JS-библиотеку json2.js, и не париться? |
Цитата:
|
JSON.parse(TextS)
После Mid() у вас должен быть валидный json. |
| Часовой пояс GMT +3, время: 12:42. |