同时搜索两个网站并在一个页面上并排显示结果

时间:2015-06-09 01:06:05

标签: javascript php html

我正在修改代码以编写搜索表单以同时搜索Google和MyWebsite,然后将Google的结果和MyWebsite的结果并排显示在一个页面上。 (我不需要比较结果)

这是我的代码:

// to be placed in the head of my page
<script type="text/javascript">
  function dosearch() {
    var sf=document.searchform;
    var submitto = sf.sengines.options[sf.sengines.selectedIndex].value + escape(sf.searchterms.value);
    window.location.href = submitto;
    return false;
  }
</script>

// to be placed where I want the search box to appear
<form name="searchform" onSubmit="return dosearch();">
  Search:
  <select name="sengines">
    <option value="http://www.google.com/search?q=" selected>Google</option>
    <option value="http://www.mywebsite.com/search?q=">MyWebsite</option>
  </select>
  For:
  <input type="text" name="searchterms">
  <input type="submit" name="SearchSubmit" value="Search">
</form>

上述代码允许我使用Google或MyWebsite一个接一个地(不是同时)执行搜索,结果显示在搜索表单以外的其他页面上。

我想要做的是

  1. 不是局限于一次选择一个搜索引擎, 我想要复选框来选择两个搜索引擎 时间。
  2. 输入一个搜索字词以从两个搜索中获取结果 引擎同时并排显示在同一页面上 iframe或更好的东西。
  3. 这是link to an image of what I am looking for

1 个答案:

答案 0 :(得分:1)

编辑:仔细观察后,您无法对大多数搜索引擎执行此操作,因为它们会阻止iframe。
*从技术上讲,有一些解决方法,但它们超出了这个问题的范围。
(最简单的方法是创建一个回显页面的php页面。问google)
< / p>

假设两个搜索都使用URL变量来获取查询,您可以执行以下操作:

var search1 = document.createElement("iframe");
search1.src = "http://www.asearch.com?q=" + query;
var search2 = document.createElement("iframe");
search2.src = "http://www.anothersearch.com?query=" + query;

document.body.appendChild(search1);
document.body.appendChild(search2);

您必须弄清楚每个搜索引擎的工作原理并分别更改?q=

最终结果:

&#13;
&#13;
// JavaScript
function dosearch() {
  var query = document.getElementById("query").value
  
  if (document.getElementById("search1").checked) {
    var search1 = document.getElementById("res1");
    search1.src = "http://www.asearch.com?q=" + query;
  }
  if (document.getElementById("search2").checked) {
    var search2 = document.getElementById("res2");
    search2.src = "http://www.anothersearch.com?q=" + query;
  }
}
&#13;
<!-- HTML -->
Search: 
A Search <input type="checkbox" id="search1" checked> 
Another Search <input type="checkbox" id="search2"><br>
For: <input type="text" id="query"><br>
<input type="submit" value="Search" onclick="dosearch();"><br>
<iframe id="res1"><iframe id="res2">
&#13;
&#13;
&#13;