|
- import win.ui;
- /*DSG{{*/
- var winform = ..win.form(text="Google搜索助手";right=923;bottom=635)
- winform.add()
- /*}}*/
-
- import web.layout;
- var wbLayout = web.layout( winform );
-
- wbLayout.html = /**
- <!doctype html>
- <html>
- <head>
- <style type="text/css">
- html,body{ height:100%; margin:0;font-size:12px; }
-
- #header{
- padding:10px;
- }
-
- #header input#keyword{
- font-size:14px;
- width:1000%%;
- text-align:right;
- }
-
- #header button#search{
- padding:4px 25px;
- font-size:13px;
- background:rgb(27,174,93);
- color:white;
- }
-
- #header button#search:hover {
- background:rgb(33,127,188);
- outline: 1px glow rgb(91,171,230) 1px;
- cursor:pointer;
- }
-
- #container{
- height:100%%;
- overflow:auto;
- }
-
- .search-result-row{
- margin:10px;
- }
-
- .search-result-row .title{
- font-size:16px;
- }
-
- .search-result-row .content b{
- color:red;
- }
-
- .search-result-row .url a{
- color:#008000;
- }
-
- #footer{
- background:#ccc;
- font-size:14px;
- text-align:right;
- padding:2px 50px 2px auto;
- }
- </style>
- </head>
- <body>
- <div id="header"> <input type="text" id="keyword" value="htmlayout site:aardio.com"> <button id="search">搜索</button></div>
- <div id="container"> </div>
- <div id="footer"><img src='http://cdn.uehtml.com/201402/1392662521354.gif' style="width:0;height:0;" cache></div>
- </body>
- </html>
- **/
- wbLayout.getEle("keyword").xcall("selectAll",true);//全选
-
- //默认回车键搜索
- winform.isDialogMessage = function(hwnd,msg){
- if( msg.wParam == 0xD/*_VK_RETURN*/ || msg.wParam == 0x1B/*_VK_ESC*/){
- wbLayout.getEle("search").click();
- return true;
- }
- }
-
-
- search = function(keyword,start,pages) {
-
- import web.rest.jsonLiteClient;
-
- var googleClient = web.rest.jsonLiteClient();
- var ajaxSearch = googleClient.api("http://ajax.useso.com/ajax/services/search/web?v=1.0")
-
- var searchData = ajaxSearch.get(
- hl = "zh-CN"; //界面语言:简体中文
- lr = "lang_zh-CN|lang_zh-TW"; //Language Restrict 只显示指定语言的搜索结果
- sourceid=cnhp;//搜索来源
- q = keyword;//搜索关键词
- start = start;//开始索引
- rsz = pages;//分页大小
- );
-
- //import console;
- //googleClient.lastResponse()
-
- if( searchData[["responseStatus"]] = 200 ){
-
- var responseData = searchData.responseData;
-
- import string.template;
- var rowTemplate = string.template();
- rowTemplate.template = /***
- <div class="search-result-row">
- <div class="title"><a href="${unescapedUrl}">${title}</a></div>
- <div class="content"> ${content} </div>
- <div class="url"><a href="${url}">${visibleUrl}</a></div>
- </div>
- ***/
-
- var tab = {};
- for(i=1;#responseData.results;1){
- table.push(tab, rowTemplate.format( responseData.results[i] ) )
- }
-
- var html = string.replace( string.join(tab),"@\u003cb\u003e","<b>");
- html = string.replace( html,"@\u003c/b\u003e","</b>")
-
- var tPages = {}
- for(i=1;#responseData.cursor.pages;1){
- if( responseData.cursor.pages[i].start == start ){
- table.push(tPages,tostring(i) );
- }
- else{
- table.push(tPages,..string.format("<a href='' name='pageslink' start='%d' keyword='%s' pages='%d'>%s</a>"
- ,responseData.cursor.pages[i].start,inet.url.encode(keyword) ,pages : 8,responseData.cursor.pages[i].label) )
- }
- }
-
- var htmlPages = '<div class="search-result-pages">' + string.join( tPages," | ") + '</div>';
- return html,htmlPages;
- }
- else {
- var errmsg = searchData[["responseDetails"]] : "网络错误"
- if( string.find( errmsg,"Suspected Terms of Service Abuse") ) errmsg = "服务器忙,请稍候再试!";
-
- return ..string.format('<div class="search-result-row"><div class="content"> %s </div> </div>', errmsg ) ;
- }
-
- }
-
- wbLayout.sinking = {
- onHyperlinkClick = {
- pageslink = function (ltTarget,ltOwner,reason,behaviorParams) {
-
- import inet.url;
-
- wbLayout.getEle("container").innerHTML = "<img src='http://cdn.uehtml.com/201402/1392662521354.gif'>"
- wbLayout.getEle("footer").innerHTML = "";
-
- var html,htmlPages = win.invoke(search,inet.url.decode(ltTarget.keyword),tonumber(ltTarget.start),tonumber(ltTarget.pages))
- wbLayout.getEle("container").innerHTML = html;
- wbLayout.getEle("footer").innerHTML = htmlPages;
-
- return true;
- }
- default = function(ltTarget,ltOwner,reason,behaviorParams){
- import process;
- process.execute(ltTarget.href);
- return true;
- }
-
- }
- }
-
- wbLayout.onButtonClick = {
-
- search = function (ltTarget,ltOwner,reason,behaviorParams) {
-
- wbLayout.getEle("container").innerHTML = "<img src='http://cdn.uehtml.com/201402/1392662521354.gif'>"
- wbLayout.getEle("footer").innerHTML = "";
-
- var html,htmlPages = win.invoke(search,wbLayout.getEle("keyword").value,0,8)
- wbLayout.getEle("container").innerHTML = html;
- wbLayout.getEle("footer").innerHTML = htmlPages;
- }
- }
-
- winform.show();
- win.loopMessage();
复制代码 |
|