|
|
Lingoes API 服务调用指南
综述
Lingoes API 服务可以让开发者在浏览器或其他软件中通过发送标准的 HTTP 请求, 来调用灵格斯的屏幕取词, 词典查询及文本翻译功能,
目前 API 服务为实验性功能,
如果你有什么想法和需求, 请发邮件至 kevin-yau@msn.com 和我联络.
开发前准备工作
API 接口说明
提示: 在浏览器中调用本地 Lingoes API 服务会产生 AJax 跨域请求, Lingoes API
服务器已提供 Cross-Origin Resource Sharing (CORS) 自动跨域授权访问技术, 支持目前所有最新版本的浏览器,
开发者无需做任何特别的设置就可以直接发送跨域请求.
1. 在指定位置显示屏幕取词窗口:
http://127.0.0.1:11111/lingoes?cmd=mini_search&text=文字&pos_x=窗口X坐标&pos_y=窗口Y坐标
详细说明 >>
2. 查询词典, 并在指定位置显示 Lingoes 主窗口:
http://127.0.0.1:11111/lingoes?cmd=main_search&text=文字&pos_x=窗口X坐标&pos_y=窗口Y坐标
详细说明 >>
3. 翻译文字, 并在指定位置显示 Lingoes 主窗口:
http://127.0.0.1:11111/lingoes?cmd=main_translator&text=文字&pos_x=窗口X坐标&pos_y=窗口Y坐标
详细说明 >>
代码及示例
调用示例: (请确认灵格斯当前正在运行, 并且启用了 API 服务器)
单词或文字:
窗口 x 坐标:
窗口 y 坐标:
源代码:
<script type="text/javascript"> // 创建XMLHTTP对象 var request = new XMLHttpRequest(); function OnApiCallback() { if (request.readyState == 4) { if (request.status == 200) { var jResult = JSON.parse(request.responseText); document.getElementById("lgs_api_result").innerText = JSON.stringify(jResult); } else { document.getElementById("lgs_api_result").innerText = "Error: status code is " + request.status; } } } // Lingoes API 调用函数 function CallLingoesApi(sCmd) { var sText = document.getElementById("text").value; var sPosX = document.getElementById("pos_x").value; var sPosY = document.getElementById("pos_y").value; sText = encodeURIComponent(sText); sPosX = encodeURIComponent(sPosX); sPosY = encodeURIComponent(sPosY); var content = "cmd=" + sCmd + "&text=" + sText + "&pos_x=" + sPosX + "&pos_y=" + sPosY; var url = "http://127.0.0.1:11111/lingoes?" + content; request.open("GET", url, true); // 指定回调函数 request.onreadystatechange = OnApiCallback; // 发送请求 request.setRequestHeader("Cache-Control", "no-cache"); request.setRequestHeader("Pragma", "no-cache"); request.send(null); document.getElementById("lgs_api_result").innerText = "Wait Lingoes API Server Response..."; } </script> <div style="border:1px solid #e0e0e0; padding:10px; margin:10px 0 10px 0; background-color:#fafafa"> <div>单词或文字: <input type="text" name="text" id="text" size="60" value="How are you"></div> <div>窗口 x 坐标: <input type="text" name="pos_x" id="pos_x" size="20"></div> <div>窗口 y 坐标: <input type="text" name="pos_y" id="pos_y" size="20"></div> <div style="margin: 10px 0 10px 0"> <button id="act" onclick="CallLingoesApi('mini_search')" onmouseover="">显示屏幕取词窗口</button> <button id="act" onclick="CallLingoesApi('main_search')" onmouseover="">查询单词</button> <button id="act" onclick="CallLingoesApi('main_translator')" onmouseover="">翻译文字</button> </div> <div id="lgs_api_result" style="margin-top: 10px; font-weight:bold"></div> </div> |