我目前正在使用 ionic和Angularjs进行混合移动应用程序,我正在尝试通过img html标签显示图像.我的页面由顶部的caroussel(效果很好,显示图像)和带有小图像的列表组成.
在我的页面的控制器中有:
app.controller('SalleCtrl',function ($scope,$location) {

$scope.salle = {
    "num": "2","imgR": [
        "img/art_affiche_6_thumb-300x300.jpg","img/art_affiche_6_thumb-300x300.jpg"
    ],"title": "Salle 2 : Premières peintures","_audio_guide": [],"_audio_guide_fe": [],"_audio_guide_en": [],"artworks": [
        {
            "img": "img/art_affiche_6_thumb-300x300.jpg","href": "http://172.16.12.158/wordpress/mcm_oeuvre/oeuvre-14-2/","title": "Oeuvre 14"
        },{
            "img": "img/art_affiche_9_thumb-300x300.jpg","href": "http://172.16.12.158/wordpress/mcm_oeuvre/oeuvre-3/","title": "Oeuvre 3"
        }
    ]
};
});

在我的HTML页面中有:

<ion-view title="{{salle.title}}">

<ion-nav-buttons side="right">
    <button menu-toggle="right" class="button button-icon icon ion-navicon"></button>
</ion-nav-buttons>
<ion-content class="has-header" id="" >
    <ul rn-carousel class="image">
         <li ng-repeat="image in salle.imgR" style="background-image:url({{ image }});background-color:black;background-repeat:no-repeat;background-position:center center;background-size : contain;"> 
        </li>
    </ul>

    <div class="list">
        <a ng-repeat="artwork in salle.artworks" class="item item-avatar" href="{{artwork.href}}">
          <img ng-src="{{artwork.img}}">
          <h2>{{artwork.title}}  {{artwork.img}}</h2>   
        </a>
    </div>

</ion-content>

当我在浏览器上显示它时一切正常.但是,当我尝试使用我的智能手机时,它会显示图像,但列表中没有显示图像,而{{artwork.img}}则显示所有图像.
我试着 :

>用’src’替换’ng-src’但没有任何反应
>替换ng-src =“{{artwork.img}}”由ng-src =“img / art_affiche_6_thumb-300×300.jpg”它有效.

显然绑定没有正确制作……你知道为什么吗?怎么解决它?!
此外,在我的智能手机上,图像的路径看起来像“cdvfile:// localhost / persistent / …”. caroussel运行良好,但图像列表不起作用,当我将“cdvfile:// localhost / persistent / …”翻译为“file:// mnt / sdcard / …”时,它可以工作.为什么?!

解决方法

我终于找到了答案.问题是由于angularjs prevent XSS attacks via html link with the function imgSrcSanitizationWhitelist的事实.因此以’cdvfile:// localhost / persistent’开头的图像路径是“unsafe:”前缀,因此图像不显示.为了解决这个问题,我不得不重写这个方法,为了在我的主模块的配置中做到这一点,我添加了这个代码:
var app = angular.module( 'myApp',[] )
     .config( ['$compileProvider',function( $compileProvider ){ 
         $compileProvider.imgSrcSanitizationWhitelist(/^\s(https|file|blob|cdvfile):|data:image\//);
       }
     ]);

与answer的讨论

javascript – 通过带有angularjs和ionic的html img标签显示图像的更多相关文章

  1. Ionic – Splash Screen适用于iOS,但不适用于Android

    我有一个离子应用程序,其中使用CLI命令离子资源生成的启动画面和图标iOS版本与正在渲染的启动画面完美配合,但在Android版本中,只有在加载应用程序时才会显示白屏.我检查了config.xml文件,所有路径看起来都是正确的,生成的图像出现在相应的文件夹中.(我使用了splash.psd模板来生成它们.我错过了什么?这是config.xml文件供参考,我觉得我在这里做错了–解决方法在config.xml中添加以下键:它对我有用!

  2. Ionic anchorscroll无法在iOS上运行

    我在我的离子应用程序中使用$anchorscroll,在Android上它运行正常但在iOS上我的内容在滚动后卡住了,我无法向上滚动.我尝试使用overflow-scroll=“true”,但这在我的应用程序中都不起作用…有人可以帮我这个吗?

  3. 自定义iOS的应用程序:Cordova / Ionic项目中的didFinishLaunchingWithOptions:方法

    如何在不中断流程的情况下将我的小更改集成到Xcode项目中?

  4. ionic:console.log未在xcode中显示cordova 4.1.1

    我使用离子和更新的cordova到版本4.1.1.几乎一切正常,但我的console.log不再出现在xcode中.任何的想法?

  5. api – HTTPS请求仅在iOS,Ionic 2上失败

    我有一个Ionic2应用程序,它调用SpringBootAPI将推送通知发送到其他设备.API使用HTTPS配置.APIPOST请求适用于除iOS之外的所有内容.我在服务器上的SSL证书是自签名的(可能就是这样吗?

  6. android – 设置Ionic应用程序的错误

    我刚刚开始使用IonicFramework来编写我的第一个Android应用程序.我可以设置项目,但是当我想通过’ionicplatformadd’添加Android平台时,它说:当我想通过’ionicbuildandroid’构建应用程序时,它说:“目前的工作目录不是基于Cordova的项目.”当我从离子FAQ运行修复时,它说:有谁知道为什么会发生这种错误?

  7. Android Studio是否支持用于Android UI设计的AngularJS?

    我对AndroidStudio有疑问:AS在设计XML文件时是否支持AngularJS代码,例如:对于小动画或效果?

  8. android – (Ionic 2)尝试回退到Cordova-lib执行时发生错误:TypeError:无法读取未定义的属性’then’

    编辑:当使用离子2时会发生这种情况.我知道它还不稳定,但我认为可能有一些修复,因为似乎其他人没有得到这个问题.编辑结束出于某种原因,我在尝试构建我的离子应用程序时突然开始出现此错误,使用“ionicbuildandroid”,以及“ionicbuildios”:我迷失在这里,不知道从哪里开始寻找.有没有人以前见过这个,能指出我正确的方向吗?

  9. android – 如何使用ClientID和ClientSecret在Phonegap中使用Angularjs登录Google OAuth2

    我正尝试使用Angularjs(使用IonicFramework)通过GoogleOAuth2从我的Phonegap应用程序登录.目前我正在使用http://phonegap-tips.com/articles/google-api-oauth-with-phonegaps-inappbrowser.html进行登录.但是当我使用Angular-UI-RouterforIonic时,它正在创建非常

  10. HTTPS阻止Ionic build –release android apk

    Debugapk工作正常,排除了常见的嫌疑,但是当我构建,签名,安装发布版本时,没有https$httpAPI调用可以通过angular(http到同一个端点,我允许调试,工作).已安装cordova白名单离子插件添加cordova-plugin-whitelistmanifest.xml包含正确的指令Ionicconfig.xml包含正确的指令我的index.html声明了一个允许的Conten

随机推荐

  1. js中‘!.’是什么意思

  2. Vue如何指定不编译的文件夹和favicon.ico

    这篇文章主要介绍了Vue如何指定不编译的文件夹和favicon.ico,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  3. 基于JavaScript编写一个图片转PDF转换器

    本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

  4. jquery点赞功能实现代码 点个赞吧!

    点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  5. AngularJs上传前预览图片的实例代码

    使用AngularJs进行开发,在项目中,经常会遇到上传图片后,需在一旁预览图片内容,怎么实现这样的功能呢?今天小编给大家分享AugularJs上传前预览图片的实现代码,需要的朋友参考下吧

  6. JavaScript面向对象编程入门教程

    这篇文章主要介绍了JavaScript面向对象编程的相关概念,例如类、对象、属性、方法等面向对象的术语,并以实例讲解各种术语的使用,非常好的一篇面向对象入门教程,其它语言也可以参考哦

  7. jQuery中的通配符选择器使用总结

    通配符在控制input标签时相当好用,这里简单进行了jQuery中的通配符选择器使用总结,需要的朋友可以参考下

  8. javascript 动态调整图片尺寸实现代码

    在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了。如果对每个插图都先进行缩放再插入的话,太麻烦了。

  9. jquery ajaxfileupload异步上传插件

    这篇文章主要为大家详细介绍了jquery ajaxfileupload异步上传插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. React学习之受控组件与数据共享实例分析

    这篇文章主要介绍了React学习之受控组件与数据共享,结合实例形式分析了React受控组件与组件间数据共享相关原理与使用技巧,需要的朋友可以参考下

返回
顶部