我正在修改代码以编写搜索表单以同时搜索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一个接一个地(不是同时)执行搜索,结果显示在搜索表单以外的其他页面上。
我想要做的是。
iframe
或更好的东西。答案 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=
。
最终结果:
// 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;