diff options
| author | Bnyro <bnyro@tutanota.com> | 2026-05-06 09:29:20 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-05-06 09:29:20 +0200 |
| commit | 330d56bba9dfc1c7cfd1bcf027d092bc73d1ed10 (patch) | |
| tree | ce9450641fa920a85b262c3ea31c01ffaa538e6a | |
| parent | 36bcd6b551c0f4850767a1cfe4c6b64e7e2c543f (diff) | |
[mod] result templates: move iframe to macro and fix page rendering for non-YouTube links (#5960)
This PR moves the `iframe` logic into a macro, so that `videos.html` and `general.html` both can benefit from the workaround to fix YouTube results by @return42 in https://github.com/searxng/searxng/pull/5858
It also fixes that only YouTube videos contained the closing `>` after `<iframe border="0" ...`, the regression has been caused by https://github.com/searxng/searxng/pull/5858
## Why is this change important?
Currently, the page breaks if there's any non-YouTube Iframe
Here, the page ends in the middle of the results and the footer and page number selector are not visible.
| -rw-r--r-- | searx/templates/simple/macros.html | 10 | ||||
| -rw-r--r-- | searx/templates/simple/result_templates/default.html | 4 | ||||
| -rw-r--r-- | searx/templates/simple/result_templates/videos.html | 8 |
3 files changed, 14 insertions, 8 deletions
diff --git a/searx/templates/simple/macros.html b/searx/templates/simple/macros.html index c3e3a9b84..8941b6820 100644 --- a/searx/templates/simple/macros.html +++ b/searx/templates/simple/macros.html @@ -67,3 +67,13 @@ class="checkbox-onoff"{{- ' ' -}} {%- if checked -%} checked{%- endif -%}/> {%- endmacro -%} + +<!-- iframe that additionally sets some extra feature attrs for videos --> +{%- macro iframe(iframe_src) -%} + <iframe data-src="{{iframe_src}}" frameborder="0" allowfullscreen + {% if result.parsed_url.hostname in ("www.youtube.com", ) -%} + allow="picture-in-picture" referrerpolicy="origin" + {%- endif -%} + > + </iframe> +{%- endmacro -%} diff --git a/searx/templates/simple/result_templates/default.html b/searx/templates/simple/result_templates/default.html index 82d902933..f678c0c52 100644 --- a/searx/templates/simple/result_templates/default.html +++ b/searx/templates/simple/result_templates/default.html @@ -1,4 +1,4 @@ -{% from 'simple/macros.html' import result_header, result_sub_header, result_sub_footer, result_footer with context %} +{% from 'simple/macros.html' import iframe, result_header, result_sub_header, result_sub_footer, result_footer with context %} {{ result_header(result, favicons, image_proxify) -}} {{- result_sub_header(result) -}} @@ -17,7 +17,7 @@ {{- result_sub_footer(result) -}} {% if result.iframe_src -%} <div id="result-media-{{ index }}" class="embedded-content invisible"> - <iframe data-src="{{result.iframe_src}}" frameborder="0" allowfullscreen></iframe> + {{ iframe(result.iframe_src) }} </div> {%- endif %} {% if result.audio_src -%} diff --git a/searx/templates/simple/result_templates/videos.html b/searx/templates/simple/result_templates/videos.html index dcd127679..a336c25ed 100644 --- a/searx/templates/simple/result_templates/videos.html +++ b/searx/templates/simple/result_templates/videos.html @@ -1,4 +1,4 @@ -{% from 'simple/macros.html' import result_header, result_sub_header, result_sub_footer, result_footer with context %} +{% from 'simple/macros.html' import iframe, result_header, result_sub_header, result_sub_footer, result_footer with context %} {{ result_header(result, favicons, image_proxify) }} {{ result_sub_header(result) }} @@ -18,11 +18,7 @@ {{- result_sub_footer(result) -}} {% if result.iframe_src -%} <div id="result-video-{{ index }}" class="embedded-video invisible"> - <iframe data-src="{{result.iframe_src}}" frameborder="0" allowfullscreen - {% if result.parsed_url.hostname in ("www.youtube.com", ) -%} - allow="picture-in-picture" referrerpolicy="origin"> - {%- endif -%} - </iframe> + {{ iframe(result.iframe_src) }} </div> {%- endif %} {{ result_footer(result) }} |
