shorten_expanded: remove loading=lazy from images if enabled
This commit is contained in:
parent
71c8d8d365
commit
43bd3394c3
|
@ -37,7 +37,7 @@ require(['dojo/_base/kernel', 'dojo/ready'], function (dojo, ready) {
|
|||
|
||||
c_inner.innerHTML = `<div class="content-shrink-wrap">
|
||||
${c_inner.innerHTML}
|
||||
${tmp.innerHTML}</div>
|
||||
${tmp.innerHTML}</div>
|
||||
<button dojoType="dijit.form.Button" class="alt-info expand-prompt" onclick="return Plugins.Shorten_Expanded.expand('${row.id}')" href="#">
|
||||
${__("Click to expand article")}</button>`;
|
||||
|
||||
|
|
|
@ -11,6 +11,21 @@ class Shorten_Expanded extends Plugin {
|
|||
function init($host) {
|
||||
$this->host = $host;
|
||||
|
||||
$host->add_hook($host::HOOK_SANITIZE, $this);
|
||||
}
|
||||
|
||||
// native lazy loading messes with plugin height calculation because images get loaded
|
||||
// after headline is actually rendered (off screen) so we force disable it
|
||||
function hook_sanitize($doc) {
|
||||
$xpath = new DOMXPath($doc);
|
||||
|
||||
$entries = $xpath->query('(//*[@loading="lazy"])');
|
||||
|
||||
foreach ($entries as $entry) {
|
||||
$entry->removeAttribute("loading");
|
||||
}
|
||||
|
||||
return $doc;
|
||||
}
|
||||
|
||||
function get_css() {
|
||||
|
@ -25,4 +40,4 @@ class Shorten_Expanded extends Plugin {
|
|||
return 2;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue