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 () {
|
||||
var btnLabelCollapsed = this.getAttribute('data-btn-text-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-left(0);
|
||||
}
|
||||
|
||||
span.delay {
|
||||
padding: 2px;
|
||||
margin-left: 0.5rem;
|
||||
border-radius: 2px;
|
||||
|
||||
&.fast {
|
||||
color: #0f06;
|
||||
}
|
||||
|
||||
&.medium {
|
||||
color: #ff06;
|
||||
}
|
||||
|
||||
&.slow {
|
||||
color: #f006;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.small_font {
|
||||
|
|
|
@ -43,6 +43,7 @@
|
|||
<div class="engines">
|
||||
{% 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 %}
|
||||
<span class="delay" data-fast="Fast" data-medium="Medi" data-Slow="Slow"></span>
|
||||
</div>{{- '' -}}
|
||||
<div class="break"></div>{{- '' -}}
|
||||
{%- endmacro -%}
|
||||
|
|
Loading…
Add table
Reference in a new issue