Нет. Если вы указываете новый номер порта, вы должны указывать имя хоста в одно и то же время.
Вы можете использовать URL-адрес схемы:
//192.168.0.120:9080
... но это настолько близко, насколько вы можете получить.
Рассмотрите возможность динамической генерации части имени хоста с помощью кода на стороне сервера.
var searchTimeout;
document.getElementById('searchBox').onkeypress = function () {
if (searchTimeout != undefined) clearTimeout(searchTimeout);
searchTimeout = setTimeout(callServerScript, 250);
};
function callServerScript() {
// your code here
}
Вы могли использовать вызовы для setTimeout
это вызывает Вашу функцию сервера (с, возможно, 2-3 вторыми задержками) на событии нажатия клавиши. Как только akey нажимается, отмените предыдущее setTimeout
назовите и создайте новый.
Затем 2-3 секунды протекли без нажатий клавиш, событие сервера будет запущено.
Вот простой путь, который будет работать без jQuery:
<input type="text" id="TxtSearch" onchange="countDown=10;" />
<script type="text/javascript">
var countDown = 0;
function SearchTimerTick()
{
if(countDown == 1)
{
StopTypingCommand();
countDown = 0;
}
if(countDown > 0)
countDown--;
}
window.setInterval(SearchTimerTick,1000);
</script>
Я не знаю много о JavaScript, но Вы могли использовать таймер (позволяет, говорят, что набор к 5 секундам), который сбрасывается на каждом событии изменения от Вашего поля ввода. Если пользователь прекращает вводить больше 5 секунд, таймер истекает и инициировал отправление.
Проблема с тем подходом состоит в том, что отправление инициировано на каждой паузе, например, если пользователь прекращает вводить к рассказу перерыв на кофе. Необходимо будет видеть, приемлемо ли это для пользователей.
Вы также, вероятно, хотите проверить длину строки на поле ввода, иначе рискнуть возвращать огромный набор результатов!
спасибо за Вашу обратную связь. Я реализовал эту часть кода, и кажется, что это делает задание (использующий jQuery):
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<script src="jquery.js" type="text/javascript"></script>
<script type="text/javascript">
var interval = 500;
var filterValue = "";
$(document).ready(function() {
$(".txtSearch").bind("keypress", logKeyPress);
});
function logKeyPress() {
var now = new Date().getTime();
var lastTime = this._keyPressedAt || now;
this._keyPressedAt = now;
if (!this._monitoringSearch) {
this._monitoringSearch = true;
var input = this;
window.setTimeout(
function() {
search(input);
}, 0);
}
}
function search(input) {
var now = new Date().getTime();
var lastTime = input._keyPressedAt;
if ((now - lastTime) > interval) {
/*console.log(now);
console.log(lastTime);
console.log(now - lastTime);*/
if (input.value != filterValue) {
filterValue = input.value;
//console.log("search!");
alert("search!");
}
input._monitoringSearch = false;
}
else {
window.setTimeout(
function() {
search(input);
}, 0);
}
}
</script>