mirror of
https://github.com/searxng/searxng
synced 2024-01-01 19:24:07 +01:00
add a delay-label to each results
This commit is contained in:
parent
75587d03a6
commit
7428fd390a
3 changed files with 49 additions and 0 deletions
|
@ -16,6 +16,36 @@
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
|
|
||||||
|
function ping (url, callback) {
|
||||||
|
var start = performance.now();
|
||||||
|
var faviconUrl = new URL('/favicon.ico', url).href;
|
||||||
|
var xhr = new XMLHttpRequest();
|
||||||
|
xhr.open('GET', faviconUrl, true);
|
||||||
|
xhr.onreadystatechange = function () {
|
||||||
|
if (xhr.readyState === 4) {
|
||||||
|
var end = performance.now();
|
||||||
|
var delay = end - start; // delay time in ms.
|
||||||
|
var level = delay <= 300 ? 'fast' : delay <= 1000 ? 'medium' : 'slow';
|
||||||
|
callback(level);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
xhr.timeout = 3000;
|
||||||
|
xhr.ontimeout = function () {
|
||||||
|
callback('slow');
|
||||||
|
}
|
||||||
|
xhr.send();
|
||||||
|
}
|
||||||
|
|
||||||
|
// check network connection
|
||||||
|
d.querySelectorAll('article.result').forEach(article => {
|
||||||
|
var url = article.querySelector('span.url_i1').innerText;
|
||||||
|
ping(url, function (level) {
|
||||||
|
var delayElement = article.querySelector('span.delay');
|
||||||
|
delayElement.innerText = delayElement.dataset[level];
|
||||||
|
delayElement.classList.add(level);
|
||||||
|
});
|
||||||
|
})
|
||||||
|
|
||||||
searxng.on('.btn-collapse', 'click', function () {
|
searxng.on('.btn-collapse', 'click', function () {
|
||||||
var btnLabelCollapsed = this.getAttribute('data-btn-text-collapsed');
|
var btnLabelCollapsed = this.getAttribute('data-btn-text-collapsed');
|
||||||
var btnLabelNotCollapsed = this.getAttribute('data-btn-text-not-collapsed');
|
var btnLabelNotCollapsed = this.getAttribute('data-btn-text-not-collapsed');
|
||||||
|
|
|
@ -417,6 +417,24 @@ article[data-vim-selected].category-social {
|
||||||
.ltr-margin-right(0.5rem);
|
.ltr-margin-right(0.5rem);
|
||||||
.ltr-margin-left(0);
|
.ltr-margin-left(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
span.delay {
|
||||||
|
padding: 2px;
|
||||||
|
margin-left: 0.5rem;
|
||||||
|
border-radius: 2px;
|
||||||
|
|
||||||
|
&.fast {
|
||||||
|
color: #0f06;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.medium {
|
||||||
|
color: #ff06;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.slow {
|
||||||
|
color: #f006;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.small_font {
|
.small_font {
|
||||||
|
|
|
@ -43,6 +43,7 @@
|
||||||
<div class="engines">
|
<div class="engines">
|
||||||
{% for engine in result.engines %}<span>{{ engine }}</span>{% endfor %}
|
{% for engine in result.engines %}<span>{{ engine }}</span>{% endfor %}
|
||||||
{{ result_link(cache_url + result.url, icon_small('ellipsis-vertical-outline') + _('cached'), "cache_link") }}‎ {% if proxify and proxify_results %} {{ result_link(proxify(result.url), icon('link') + _('proxied'), "proxyfied_link") }} {% endif %}
|
{{ result_link(cache_url + result.url, icon_small('ellipsis-vertical-outline') + _('cached'), "cache_link") }}‎ {% if proxify and proxify_results %} {{ result_link(proxify(result.url), icon('link') + _('proxied'), "proxyfied_link") }} {% endif %}
|
||||||
|
<span class="delay" data-fast="Fast" data-medium="Medi" data-Slow="Slow"></span>
|
||||||
</div>{{- '' -}}
|
</div>{{- '' -}}
|
||||||
<div class="break"></div>{{- '' -}}
|
<div class="break"></div>{{- '' -}}
|
||||||
{%- endmacro -%}
|
{%- endmacro -%}
|
||||||
|
|
Loading…
Add table
Reference in a new issue