Angularjs “图像”;alt";或;标题「;属性未显示。将显示一个空白的白色

Angularjs “图像”;alt";或;标题「;属性未显示。将显示一个空白的白色,angularjs,image,browser,Angularjs,Image,Browser,我已在浏览器设置中禁用“图像”选项并渲染图像。 在初始加载时,图像不显示“alt”或“title”属性,并且显示为空白色 在按住ctrl+R键后,它会在浏览器中显示图像alt或标题文本 <img alt="I am here" src="test.png"> 如果我清空“src”标记,那么它看起来是正确的 还有,有没有办法从javascript中扣除图像设置 如何解决页面加载图像“alt/title”显示问题?在加载图像之前,alt文本无法可靠显示。如果要在加载图像之前显示文

我已在浏览器设置中禁用“图像”选项并渲染图像。 在初始加载时,图像不显示“alt”或“title”属性,并且显示为空白色

在按住ctrl+R键后,它会在浏览器中显示图像alt或标题文本

<img alt="I am here" src="test.png">

如果我清空“src”标记,那么它看起来是正确的

还有,有没有办法从javascript中扣除图像设置


如何解决页面加载图像“alt/title”显示问题?

在加载图像之前,alt文本无法可靠显示。如果要在加载图像之前显示文本,则应该考虑使用基于JavaScript的解决方案。公认的答案显示了一个很好的方法。Alt和Title有不同的用途。标题是用户将鼠标悬停在图像上时显示的文本

关于你的第二个问题-你所说的图像设置是什么意思?我看到您已经标记了post AngularJS-因此,如果您的控制器中有这样一个对象数组:

var controller = function($scope) {
    $scope.image = {
        src: "img.png",
        txt: "Text here"
    };
}

var app = angular.module('myApp');
var module = app.controller('Controller', controller);
您可以访问视图中的数据,如下所示:

<body ng-app="myApp" ng-controller="Controller">
    <div id="image-placeholder">{{images[0].txt}}</div>
    <!-- from the other post -->
    <script>
        new Image('{{image.src}}'); // preloads the image
        var placeholder= document.getElementById('image-placeholder');
        placeholder.innerHTML = '<img src={{image.src}} alt="' + placeholder.innerHTML + '">';
    </script>
</body>

{{图像[0].txt}
新映像(“{Image.src}}”);//预加载图像
var placeholder=document.getElementById('image-placeholder');
placeholder.innerHTML='';

这段代码可能是一个很好的指令候选者,但也可以按原样使用。

谢谢。我想这个修复对于考虑整个应用程序中的所有图像来说太昂贵了。通过angular中的img指令,有什么可以帮助实现的吗?@user1764882我认为这不会太昂贵。您可以创建一个角度指令来相当轻松地执行此操作。我现在不适合为你写一篇。标准图像指令(
ngsrc
)只在加载angular后获取源代码。我认为这是没有帮助的。但是您可以很容易地将上面的代码片段转换为指令。