我在Drupal 8上有一个站点,并使用以下代码更新了块视图:
(function ($, Drupal) {
'use strict';
setInterval(function() {
$('.region-navigation-logo .view-display-id-block_3').trigger('RefreshView');
}, 10000);
})(jQuery, Drupal);
此代码将更新网站徽标。问题是,如果我向下滚动页面,它会每10秒自动上升一次。
您可以使用:p在我的网站上进行测试
https://www.s1biose.com/fr/user/login
标识符:演示
密码:演示
然后单击该站点的徽标,向下滚动主页并等待10秒钟。您会看到页面每10秒上升一些像素。
更新
以下代码可以工作,但是它适用于网站的所有视图。
我只想将其应用于2个视图:
message_activity_stream_timeline_public
和
message_activity_stream_timeline_private
如何执行此操作?
function message_activity_stream_ajax_render_alter(array &$data) {
$view_name = '<view_name>';
$view_dom_id = '<view_dom_id>';
$selector = '.js-view-dom-id-' . $view_dom_id;
foreach ($data as $key => $value) {
if ($value['command'] === 'viewsScrollTop' && $value['selector'] === $selector) {
unset ($data[$key]);
break;
}
}
}
如何在2个视图中使用此代码?