在Drupal 7上将图像路径src更改为data-src

时间:2013-05-13 16:08:58

标签: javascript jquery drupal drupal-7 lazy-loading

我想使用LazyLoad插件。搜索了关于这个jQuery插件的模块,但不适合我。而且,会使用很多选项。

所以,第一条规则:

  

Lazy Load的最新版本不是替代你的   网页。即使您删除了src属性,新浏览器也会加载图像   用JavaScript。现在你必须改变你的HTML代码。放置占位符   将图像转换为img标签的src属性。真实的图片网址应该是   存储的数据 - 原始属性。好的是你现在可以   将所有JavaScript放到页面末尾。如果你想支持   非JavaScript浏览器还有一个额外的步骤。你必须包括   标签内的原始图像。阅读以下文档。


但我不知道我该怎么做?有可能是Javascript吗?还是另一个解决方案?

1 个答案:

答案 0 :(得分:0)

大多数图片都经过theme_image(),您可以在主题的template.php文件中覆盖,如下所示:

function MYTHEME_image($vars) {
  $attributes = $variables['attributes'];
  $attributes['data-src'] = file_create_url($variables['path']); // <-- Change is here

  foreach (array('width', 'height', 'alt', 'title') as $key) {
    if (isset($variables[$key])) {
      $attributes[$key] = $variables[$key];
    }
  }

  return '<img' . drupal_attributes($attributes) . ' />';
}