我找到了一些问题/答案,但是它们都过时了,所以我想问一问,看看是否有一些新的做法/元。
我有一个正在使用的网页,atm是唯一的首页,并且它基于html,css和javascript构建。我之所以在Laravel中进行构建,是因为很快我将为表单,用户和其他一些文档实现一个数据库。
无论如何,我想要一个简单的搜索引擎(例如,只能搜索不同页面的搜索引擎)
因此,经过一番思考和挖掘,这是我目前正在研究的解决方案:
HTML:
<ul class="navbar-nav ml-1 mr-5">
<form class="form-inline" id="procurahead">
<input class="form-control espaco_procura" type="text" list="listhead" placeholder="Pesquisa" aria-label="Search" id="txtinputhead" autocomplete="off">
<datalist id="listhead">
<!-- THEMES -->
<option value="foo">
<option value="foo1">
<option value="foo2">
<option value="foo3">
<option value="etc">
</datalist>
<button class="btn btn-outline-success btnprocura" type="submit"><i class="material-icons procura">search</i></button>
</form>
</ul>
JAVASCRIPT:
$('#procurahead').submit(function(event){
event.preventDefault();
var input1 = $('#txtinputhead').val();
if(input1 == "foo"){
window.location.href = 'http://localhost/laravel/l55/public/foo';
}
if(input1 == "foo1"){
window.location.href = 'http://localhost/laravel/l55/public/foo1';
}
if(input1 == "foo2"){
window.location.href = 'http://localhost/laravel/l55/public/foo2';
}
if(input1 == "foo3"){
window.location.href = 'http://localhost/laravel/l55/public/foo3';
}
if(input1 == "etc"){
window.location.href = 'http://localhost/laravel/l55/public/etc';
}
});
所以,这在我没有很多页面的情况下工作得很好,但是我认为,如果我扩展到所有网页,那么我会很长,而且似乎应该有一些更简单的方法它。
所以问题是:有没有更好/更简单的方法来实现呢?
谢谢!
答案 0 :(得分:1)
从using javascript to detect whether the url exists before display in iframe中摘录下来作为代码介绍,您可以构建如下代码:
function urlExists(url) {
var request;
if (window.XMLHttpRequest) {
request = new XMLHttpRequest();
} else {
request = new ActiveXObject("Microsoft.XMLHTTP");
}
request.open('GET', url, false);
request.send();
if (request.status === 404) {
return false;
} else {
return true;
}
}
$('#procurahead').submit(function (event) {
event.preventDefault();
var input1 = $('#txtinputhead').val();
var url = 'http://localhost/laravel/l55/public/' + input1;
if (urlExists(url)) {
window.location.href = url;
}
}
我希望这是您所需要的。问候。