以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:
首先需要设计一个存储搜索引擎信息的数据结构,可以使用对象来存储,例如:
var data = {
baidu: {
name: '百度',
url: 'https://www.baidu.com/s',
key: 'wd'
},
google: {
name: '谷歌',
url: 'https://www.google.com/search',
key: 'q'
}
};
然后可以通过一个表单让用户输入相关网站数据并保存到data变量中。
<form>
<label>网站名:</label>
<input type="text" id="name">
<br>
<label>服务器地址:</label>
<input type="text" id="url">
<br>
<label>关键字:</label>
<input type="text" id="key">
<br>
<button type="submit">保存</button>
</form>
var form = document.querySelector('form');
form.addEventListener('submit', function(event) {
event.preventDefault();
var name = document.getElementById('name').value;
var url = document.getElementById('url').value;
var key = document.getElementById('key').value;
data[name] = {
name: name,
url: url,
key: key
};
});
接下来需要生成搜索页面的内容,可以使用DOM对象来动态创建页面元素。
<form>
<label>搜索:</label>
<input type="text" id="search">
<select id="engine">
<option value="baidu">百度</option>
<option value="google">谷歌</option>
</select>
<button type="submit">搜索</button>
</form>
<div id="result"></div>
var form = document.querySelector('form');
var searchInput = document.getElementById('search');
var engineSelect = document.getElementById('engine');
var resultDiv = document.getElementById('result');
form.addEventListener('submit', function(event) {
event.preventDefault();
var engine = engineSelect.value;
var url = data[engine].url;
var key = data[engine].key;
var search = searchInput.value;
var searchUrl = url + '?' + key + '=' + search;
var iframe = document.createElement('iframe');
iframe.src = searchUrl;
resultDiv.innerHTML = '';
resultDiv.appendChild(iframe);
});
最后可以对用户界面进行改进,例如添加自动完成功能和更多搜索引擎的选项等。
代码参考OpenAI ,修改可用
// 定义存放网站信息的数据结构
var data = [];
// 添加网站信息到数据结构中
function addWebsite() {
var websiteName = prompt("请输入网站名称:");
var websiteURL = prompt("请输入网址:");
var serverAddress = prompt("请输入服务器地址:");
var keyword = prompt("请输入关键字:");
var website = {
name: websiteName,
url: websiteURL,
server: serverAddress,
key: keyword
};
data.push(website);
}
// 根据保存的网站信息自动生成页面内容
function generatePage() {
var container = document.getElementById("container");
container.innerHTML = "";
for (var i = 0; i < data.length; i++) {
var website = data[i];
var websiteDiv = document.createElement("div");
websiteDiv.innerHTML = "<h3>" + website.name + "</h3>" +
"<p>网址:" + website.url + "</p>" +
"<p>服务器地址:" + website.server + "</p>" +
"<p>关键字:" + website.key + "</p>";
container.appendChild(websiteDiv);
}
}
HTML 页面结构:
<!DOCTYPE html>
<html>
<head>
<title>网站搜索</title>
</head>
<body>
<h1>网站搜索</h1>
<button onclick="addWebsite()">添加网站</button>
<button onclick="generatePage()">生成页面</button>
<div id="container"></div>
<script src="script.js"></script>
</body>
</html>
定义了一个数组 data 用于存放网站信息,每个网站信息由名称、网址、服务器地址和关键字组成。
addWebsite() 函数用于通过提示框获取用户输入的网站信息,并将其添加到 data 数组中。
generatePage() 函数根据保存的网站信息自动生成页面内容,动态创建