Wolfram Alpha에 대한 쿼리를 실행하고 유비 쿼티 미리보기 개체에 결과를 표시하는 간단한 Ubiquity 명령을 작성하려고합니다.jQuery + Ubiquity : URL에서 문서 객체 반환
미리보기 개체의 innerHTML
을 설정해야합니다.
- 볼프람 페이지에있는 모든 HTML을 생성하기 위해 5 ~ 10 초 소요 :
//... jQuery.get('http://www.wolframalpha.com/input/?i=' + input.text, null, function(page) { previewBlock.innerHTML = page; } );
내가이 문제/질문 : 저는 현재 만 시작 인 HTML를 얻기 위해이 일을하고있다 ,
get()
명령은 불완전한 HTML을 반환합니다.
어떻게 페이지가 완전히로드 될 때까지 기다릴 수 있습니까? - 결과는 볼프람 페이지에
id="results"
을 가지고, 난 그냥 이런 식으로 뭔가를 수행하여 결과를 얻을 싶습니다
이는 내가 사용하고 URL을 함께 할 수있는 방법previewBlock.innerHTML = page.getElementById('results').innerHTML
?
또 다른 옵션은 소스로 볼프람 URL을 사용하여 새 요소를 생성하고 previewBlock
에 추가 할 수 있습니다 - 그래도 난 그렇게하는 방법을 모르겠어요. 모든 제안을 부탁드립니다.
UPDATE 여기
내가 사용하고 편재 스크립트입니다 - 그것은 루프의 소스 HTML 출력을에서 이미지를 가져옵니다. 참고 : jQuery.get(opt)
CmdUtils.CreateCommand({
name: "wolfram",
takes: {"input": noun_arb_text},
icon: "http://www.wolframalpha.com/favicon.ico",
homepage: "http://www.wolframalpha.com",
author: {name:"Jason Coon"},
description: "Searches Wolfram Alpha and loads results in to Preview pane.",
preview: function(pblock, input) {
CmdUtils.previewGet(pblock,
'http://www.wolframalpha.com/input/?i=' + input.text,
null,
function(data){
var resultStart = data.indexOf("results",0);
var beginPos = data.indexOf("<img src", resultStart);
var endPos = 0;
var html = ""
while(beginPos != -1){
endPos = data.indexOf(">", beginPos);
html = html + "<br><br>" + data.substring(beginPos, endPos);
beginPos = data.indexOf("<img src", endPos);
}
pblock.innerHTML = html;
}
);
}
})
먼저 "제한된 URI 거부 됨"오류를 어떻게 극복하고 있습니까? –
유비 쿼티 (Ubiquity)가이를 처리하고 데이터를 가져올 수 있습니다. –
편재 통화가 포함 된 코드를 게시 하시겠습니까? –