| websearch.php?search=[SEARCHTERM] |
| <?php header("Content-Type: text/xml(标准化越来越近了)"); header("Cache-Control: no-cache");if ( isset($_GET["search"]) ) { $searchTerm = urlencode( stripslashes($_GET["search"]) ); $url = "http://search.msn.com/results.aspx?q=$searchTerm&format=rss"; $xml(标准化越来越近了) = file_get_contents($url); echo $xml(标准化越来越近了); } ?> |
| var msnWebSearch ={}; |
| <a href="#" onclick='msnWebSearch.search(event,"Professional ajax(动态网站静态化)"); return false;'> Professional ajax(动态网站静态化) </a> |
| <divclass="ajax(动态网站静态化)WebSearchBox"> <div class="ajax(动态网站静态化)WebSearchHeading">MSN Search Results <a class="ajax(动态网站静态化)WebSearchCloseLink" href="#">X</a> </div> <div class="ajax(动态网站静态化)WebSearchResults"> <a class="ajax(动态网站静态化)WebSearchLink" target="_new" /> <a class="ajax(动态网站静态化)WebSearchLink" target="_new" /> </div> </div> |
![]() 图1.结果框分为两部分:一个头部和一个结果栏 |
| msnWebSearch.drawResultBox = function (e) { var divSearchBox= document.createElement("div"); var divHeading = document.createElement("div"); var divResultsPane = document.createElement("div"); var aCloseLink = document.createElement("a"); |
| aCloseLink.href = "#"; aCloseLink.className = "ajax(动态网站静态化)WebSearchCloseLink"; aCloseLink.onclick = this.close; aCloseLink.appendChild(document.createTextNode("X")); divHeading.className = "ajax(动态网站静态化)WebSearchHeading"; divHeading.appendChild(document.createTextNode("MSN Search Results")); divHeading.appendChild(aCloseLink); |
| var divLoading = document.createElement("div"); divLoading.appendChild(document.createTextNode("Loading Search Feed")); divResultsPane.className = "ajax(动态网站静态化)WebSearchResults"; divResultsPane.appendChild(divLoading); |
![]() 图2.向用户提示数据正在加载中 |
| divSearchBox.className = "ajax(动态网站静态化)WebSearchBox"; divSearchBox.appendChild(divHeading); divSearchBox.appendChild(divResultsPane); document.body.appendChild(divSearchBox); |
| msnWebSearch.drawResultBox = function (e) { var divSearchBox= document.createElement("div"); var divHeading = document.createElement("div"); var divResultsPane = document.createElement("div"); var aCloseLink = document.createElement("a"); aCloseLink.href = "#"; aCloseLink.className = "ajax(动态网站静态化)WebSearchCloseLink"; aCloseLink.onclick = this.close; aCloseLink.appendChild(document.createTextNode("X")); divHeading.className = "ajax(动态网站静态化)WebSearchHeading"; divHeading.appendChild(document.createTextNode("MSN Search Results")); divHeading.appendChild(aCloseLink); var divLoading = document.createElement("div"); divLoading.appendChild(document.createTextNode("Loading Search Feed")); divResultsPane.className = "ajax(动态网站静态化)WebSearchResults"; divResultsPane.appendChild(divLoading); divSearchBox.className = "ajax(动态网站静态化)WebSearchBox"; divSearchBox.appendChild(divHeading); divSearchBox.appendChild(divResultsPane); document.body.appendChild(divSearchBox); this.position(e, divSearchBox); return divSearchBox; }; |
| msnWebSearch.position = function (e, divSearchBox) { var x = e.clientX + document.documentElement.scrollLeft; var y = e.clientY + document.documentElement.scrollTop; divSearchBox.style.left = x + "px"; divSearchBox.style.top = y + "px"; }; |
| msnWebSearch.populateResults = function(divResultsPane,oParser){ var oFragment = document.createDocumentFragment(); divResultsPane.removeChild(divResultsPane.firstChild); |
| for (var i = 0; i < oParser.items.length; i++) { var oItem = oParser.items[i]; var aResultLink = document.createElement("a"); aResultLink.href = oItem.link.value; aResultLink.className = "ajax(动态网站静态化)WebSearchLink"; aResultLink.target = "_new"; aResultLink.appendChild(document.createTextNode(oItem.title.value)); oFragment.appendChild(aResultLink); } |
| divResultsPane.appendChild(oFragment); |
| msnWebSearch.close = function () { var divSearchBox = this.parentNode.parentNode; document.body.removeChild(divSearchBox); return false; }; |
| msnWebSearch.search = function (e,sSearchTerm) { var divSearchBox = this.drawResultBox(e); var url = encodeURI("websearch.php?search=" + sSearchTerm); var oParser = new XParser(url); oParser.onload = function () { msnWebSearch.populateResults(divSearchBox.childNodes[1],oParser); }; }; |
| .ajax(动态网站静态化)WebSearchBox { position: absolute; background-color: #0d1e4a; width: 500px; padding: 1px; } |
| .ajax(动态网站静态化)WebSearchHeading { position: relative; background-color: #1162cc; font: bold 14px tahoma; height: 21px; color: white; padding: 3px 0px 0px 2px; } |
| a.ajax(动态网站静态化)WebSearchCloseLink { position: absolute; right: 5px; top: 3px; text-decoration: none; color: white; } a:hover.ajax(动态网站静态化)WebSearchCloseLink { color: red; } |
| .ajax(动态网站静态化)WebSearchResults { background-color: #d3e5fa; padding: 5px; } |
| .ajax(动态网站静态化)WebSearchResults div { text-align: center; font: bold 14px tahoma; color:#0a246a; } |
| a.ajax(动态网站静态化)WebSearchLink { font: 12px tahoma; padding: 2px; display: block; color: #0a246a; } a:hover.ajax(动态网站静态化)WebSearchLink { color: white; background-color: #316ac5; } a:visited.ajax(动态网站静态化)WebSearchLink { color: purple; } |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xml(标准化越来越近了):lang="en" lang="en" xml(标准化越来越近了)ns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>ajax(动态网站静态化) WebSearch</title> <link rel="stylesheet" type="text/css" href="css/websearch.css" /> <script type="text/javascript" src="js/zxml(标准化越来越近了).js"></script> <script type="text/javascript" src="js/xparser.js"></script> <script type="text/javascript" src="js/websearch.js"></script> </head><body> </body> </html> |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xml(标准化越来越近了):lang="en" lang="en" xml(标准化越来越近了)ns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>ajax(动态网站静态化) WebSearch</title> <link rel="stylesheet" type="text/css" href="css/websearch.css" /> <script type="text/javascript" src="js/zxml(标准化越来越近了).js"></script> <script type="text/javascript" src="js/xparser.js"></script> <script type="text/javascript" src="js/websearch.js"></script> </head><body> <a href="#" onclick='msnWebSearch.search(event,"\"Professional ajax(动态网站静态化)\""); return false;'>Search for "Professional ajax(动态网站静态化)"</a> <br /><br /><br /><br /> <a href="#" onclick='msnWebSearch.search(event,"Professional ajax(动态网站静态化)"); return false;'>Search for Professional ajax(动态网站静态化)</a> </body> </html> |